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)
}