MediaWiki:Monobook.js
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: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for users using the MonoBook skin */
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// |——————————————————————————————————————————————————————————————————————————————————————————————————————————| //
// |-| I feel I am not too shabby at JavaScript programming, so feel free to ask me questions about any |-| //
// |-| scripts on this page. Please note that most of these scripts are tested in and developed for Mozilla |-| //
// |-| Firefox. |-| //
// |——————————————————————————————————————————————————————————————————————————————————————————————————————————| //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//--------------------------------
// Stuff for everyone
//---------------------------------
//Alphabetized
importScript('User:Ais523/votesymbols.js');
importScript('User:Animum/ais523editcount.js');
importScript('User:Animum/count.js');
importScript('User:Animum/headers.js');
importScript('User:Animum/liveclock.js');
importScript('User:Animum/moveRV.js');
importScript('User:Animum/reset.js');
importScript('User:Animum/revdelete.js');
importScript('User:Animum/rfavote.js'); //Joke script for laughs. Don't take it seriously.
importScript('User:Animum/twinklespeedy.js'); //Same as AzaToth's real version, but with modified summaries.
importScript('User:Animum/usergroups.js');
importScript('User:Animum/watchlistUpdate.js');
importScript('User:AzaToth/morebits.js');
importScript('User:AzaToth/twinklefluff.js');
importScript('User:AzaToth/twinklewarn.js');
importScript('User:AzaToth/twinklexfd.js');
TwinkleConfig = {
deletionSummaryAd : "",
protectionSummaryAd : "",
summaryAd : "",
showSharedIPNotice : false,
orphanBacklinksOnSpeedyDelete : false
};
importScript('User:Gracenotes/amelvand.js');
importScript('User:Lupin/popups.js'); //[[User:Lupin/popups.js]]
popupHideDelay=0.1;
popupDelay=0.7;
popupAdminLinks=true;
popupsFixDabs=true;
importScript('User:Lupin/recent2.js');
importScript('User:Steel359/protection.js');
importScript('User:Tra/sidebartranslate.js');
importScript('User:Voice of All/Addtabs/monobook.js');
importScript('User:Voice of All/replacetxt.js');
importScript('User:Voice of All/Google/monobook.js');
importScript('User:Voice of All/History/monobook.js');
importScript('User:Voice of All/Adminwarnings/monobook.js');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add tab');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add toolbox link');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');
addOnloadHook(function () { //Status changer by Misza13
var subpage = "/Status";
var scheme = "/StatusTemplate";
var subpagelink = wgServer + "/wiki/User:" + wgUserName + subpage;
var logout = document.getElementById( 'pt-logout' );
//Add the links
addPortletLink("p-personal", subpagelink + "?action=edit&newstatus=in", "in", "pt-status-in", "I'm in!", "", logout);
addPortletLink("p-personal", subpagelink + "?action=edit&newstatus=busy", "busy", "pt-status-busy", "I'm busy!", "", logout);
addPortletLink("p-personal", subpagelink + "?action=edit&newstatus=out", "out", "pt-status-out", "I'm out!", "", logout);
if (location.href.indexOf("?action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?
//Get new status
var statusRegExp = /\?action=edit&newstatus=(.*)/;
var status = statusRegExp.exec(location.href)[1];
//Modify the form
document.getElementById('wpTextbox1').value = "\{\{User:"+wgUserName+scheme+"|"+status+"\}\}";
document.getElementById('wpSummary').value = "Status: "+status;
document.getElementById('wpMinoredit').checked = 'checked';
//Submit it!
document.getElementById('editform').submit();
});
addOnloadHook(function() {
var subpagename = wgPageName.split('/')[1];
addToolboxLink('http://en.wikipedia.org/w/index.php?title=' + wgPageName + '&action=purge', "Purge this page", '', '', '', "Purge the cache for this page.");
if(!subpagename) {
if(wgNamespaceNumber != 0) {
addToolboxLink(wgServer + wgScript + "?title=Special:Prefixindex/" + wgPageName + "/", "Subpages", '', '', '', 'View the subpages of this page');
}
if(wgNamespaceNumber == 3 || wgNamespaceNumber == 2) {
addToolboxLink("http://en.wikipedia.org/w/index.php?title=Special:DeletedContributions&target=" + wgTitle, 'Deleted contributions');
}
}
if(wgCanonicalNamespace == "Template" && document.getElementById("doc_editlinks")) {
var editsection = document.getElementById("doc_editlinks");
editsection.innerHTML = '[<a href="' + wgServer + '/wiki/' + wgPageName + '/doc">view</a>]' + " " + '[<a href="'+ wgServer + wgScript + '?title=' + wgPageName + '/doc&action=edit" title="Edit the template documentation for this page">edit</a>]';
}
});
function PortletMenu(id) { //Taken from [[User:KnowledgeOfSelf/monobook.js]]
this.menu = document.getElementById(id);
this.list = this.menu.getElementsByTagName('ul')[0]; // bypass "<h5>Views</h5>", etc.
var LIs = this.list.getElementsByTagName('li');
for (var i=0; i<LIs.length; i++) {
this[LIs[i].id] = LIs[i];
}
this.newItem = function(id, txt, url) {
var li = document.createElement('li');
li.id = id;
var a = document.createElement('a');
a.href = url;
a.appendChild(document.createTextNode(txt));
li.appendChild(a);
this[id] = li;
return li;
}
this.append = function(id, txt, url) {
this.list.appendChild(this.newItem(id, txt, url));
}
this.insertBefore = function(old, id, txt, url) {
this.list.insertBefore(this.newItem(id, txt, url), this[old]);
}
this.getText = function(id) {
return this[id].getElementsByTagName('a')[0].firstChild.data;
}
this.setText = function(id, txt) {
this[id].getElementsByTagName('a')[0].firstChild.data = txt;
}
this.getHref = function(id) {
return this[id].getElementsByTagName('a')[0].href;
}
this.setHref = function(id, url) {
this[id].getElementsByTagName('a')[0].href = url;
}
}
addOnloadHook(function() {
var usermenu = new PortletMenu('p-personal');
document.getElementById('p-personal').getElementsByTagName('ul')[0].style.textTransform = 'none';
usermenu.setText('pt-mytalk', 'talk');
usermenu.setText('pt-preferences', 'preferences');
usermenu.setText('pt-watchlist', 'watchlist');
usermenu.setText('pt-mycontris', 'contribs');
usermenu.setText('pt-logout', 'logout');
if(document.getElementById('ca-edit')) document.getElementById('ca-edit').firstChild.innerHTML = 'edit';
if(document.getElementById('ca-talk')) document.getElementById('ca-talk').firstChild.innerHTML = 'talk';
});
//--------------------------------
// Sysop-only stuff
//--------------------------------
if(wgUserGroups.indexOf("sysop") != -1) {
importScript('User:Animum/easyblock.js'); //[[User:Animum/easyblock.js]]
ebPrefs = {
displayStatus : false
};
importScript('User:Animum/easyblock.js/parseUsers.js');
importScript('User:Animum/massdelete.js');
importScript('User:Animum/userrights.js');
var showTab = false;
importScript('User:Animum/twinkledelimages.js');
if(wgNamespaceNumber == 14) importScript('User:AzaToth/twinklebatchdelete.js');
importScript('User:Voice of All/Deletion/monobook.js');
importScript('User:Voice of All/Protection/monobook.js');
importScript('User:Voice of All/Sleeper/monobook.js');
importScript('User:Voice of All/Specialadmin/monobook.js');
Mvaluejs_class = '';
Rvaluejs_class = '';
Uvaluejs_class = '';
importScript('User:Mr.Z-man/closeAFD.js');
}
//--------------------------------
// Section for experimentation
//--------------------------------
addOnloadHook(function() {
if(location.href.indexOf("&italictitle") != -1) {
with(document.editform) {
with(wpTextbox1) {
if(value.search(/\{\{[iI]tal(ic ?title)?.*?\}\}/) == -1) {
value = "{{italic title}}\n" + value;
} else {
jsMsg("Already italicized");
return;
}
}
wpSummary.value = "+{{[[Template:Italic title|italic title]]}}";
wpMinoredit.checked = true;
if(wpTextbox1.value.search(/\{\{[iI]tal(ic ?title)?.*?\}\}/) != -1) submit();
}
}
if(wgPageName == "Category:Dialogues_of_Plato") {
var uls = document.getElementById("mw-pages").getElementsByTagName("ul");
for(i=0; i<uls.length; i++) {
var ul = uls[i];
var lis = ul.getElementsByTagName("li");
for(x=0; x<lis.length; x++) {
var li = lis[x];
var page = li.getElementsByTagName("a")[0].innerHTML;
li.innerHTML += " (<a href=\"" + wgScript + "?title=" + encodeURIComponent(page) + "&action=edit&italictitle\">fix</a>)";
}
}
}
});