MediaWiki:Common.js
From Korean Wiki Project
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Clear the cache in Tools → Preferences
/* Any JavaScript here will be loaded for all <s>users</s> on every page load. */ /** Extra toolbar options ****************************************************** * * Description: UNDOCUMENTED * Maintainers: [[User:MarkS]]?, [[User:Voice of All]], [[User:R. Koot]] */ //This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All. // This is based on the original code on Wikipedia:Tools/Editing tools // To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]] if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_template.png", "speedTip": "Insert Grammar Page Template", "tagOpen": "'''Grammar pattern''' : This pattern is equivalent to '''equivalent statement'''\n\n==Conjugation Rule==\n*Pattern 1 : If there is no [[받침]]\n*Pattern 2 : If there is a [[받침]]\n\n==Conjugation Examples==\n*Original → After\n\n==Sentence Examples==\n*Example\n\n==Usage Exceptions==\n*Example\n\n==Pronunciation==\n*Special pronunciation rule?\n\n==See Also==\n*Related topic or grammar\n\n[[Category:CATEGORY NAME|WHERE TO SORT]]\n", "tagClose": "", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_array.png", "speedTip": "Insert a table", "tagOpen": '{| class="wikitable"\n|-\n', "tagClose": "\n|}", "sampleText": "|+table title\n! header 1 !! header 2 !! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_image.png", "speedTip": "Insert Image", "tagOpen": "[[Image:FILENAME.jpg", "tagClose": "]]", "sampleText": "|thumb|right|200px|Caption"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_mp3.png", "speedTip": "Insert Mp3", "tagOpen": "<flashmp3>filename.mp3|leftbg=003478|rightbg=c60c30|lefticon=ffffff|righticon=ffffff</flashmp3>", "tagClose": "", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_redirect.png", "speedTip": "Redirect", "tagOpen": "#REDIRECT [[", "tagClose": "]]", "sampleText": "Insert text"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_category.png", "speedTip": "Insert Category", "tagOpen": "[[Category:", "tagClose": "|WHERE TO SORT]]", "sampleText": "CATEGORY NAME"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_comment.png", "speedTip": "Insert Hidden Comment", "tagOpen": "<!--", "tagClose": "-->", "sampleText": "Comment"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_align_left.png", "speedTip": "Align Left", "tagOpen": '<div style="text-align: left; direction: ltr; margin-left: 1em;">', "tagClose": "</div>", "sampleText": "Left-aligned text"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_center.png", "speedTip": "Align Center", "tagOpen": '<div style="text-align: center;">', "tagClose": "</div>", "sampleText": "Centred text"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_align_right.png", "speedTip": "Align Right", "tagOpen": '<div style="text-align: right; direction: ltr; margin-left: 1em;">', "tagClose": "</div>", "sampleText": "Right-aligned text"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.koreanwikiproject.com/wiki/skins/common/images/Button_arrow.png", "speedTip": "Insert Arrow", "tagOpen": "→", "tagClose": "", "sampleText": ""}; } //create a custom toString function, //event though Array object has its own //we want to customize it a little bit Stack.prototype.toString = function(){ var temp = '[ '; for(var i = 0, length = this.list.length; i <= length; i++){ temp += this.list[i]; if(length - i != 1){ temp += ', '; } } temp += ' ]'; return temp; } var stack = new Stack(); stack.push(mwEditButtons.length); stack.push(mwCustomEditButtons.length); alert(stack.toString()); //Remove the buttons the user doesn't want rmEditButtons=[]; //Sort the user's requests so we remove the button with the highest index first //- This ensures we remove the buttons the user expects whatever order he requested the buttons in rmEditButtons.sort(sortit); //Remove individual buttons the user doesn't want for(i=0;i<rmEditButtons.length;i++){ var n=rmEditButtons[i]; //Standard buttons if(n>=0 && n<mwEditButtons.length){ if(n<mwEditButtons.length){ var x = -1; while((++x)<mwEditButtons.length) if(x>=n) mwEditButtons[x] = mwEditButtons[x+1]; } mwEditButtons.pop(); } //Extra buttons in English Wikipedia n=n-mwEditButtons.length; if(n>0 && n<mwCustomEditButtons.length){ if(n<mwCustomEditButtons.length){ var x = -1; while((++x)<mwCustomEditButtons.length) if(x>=n) mwCustomEditButtons[x] = mwCustomEditButtons[x+1]; } mwCustomEditButtons.pop(); } } function sortit(a,b){ return(b-a) }