User:Skittleys/old-monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
![]() | Documentation for this user script can be added at User:Skittleys/old-monobook. |
importScript('User:Skittleys/cactions.js'); //Original source: [[User:Haza-w/cactions.js]]
//Useful: mw.util.addPortletLink(where to add it e.g. cactions, url to link to, name, id, title/tooltip-text, key, node to add before...(e.g., document.getElementById('pt-logout'));
/******* The Imports *******/
importScript('User:Alex Smotrov/histcomb.js'); //When a user has edited a page multiple times in a row, this bundles them up into one
importScript('User:Ais523/watchlistnotifier.js'); //Notifies of a change in the watchlist
importScript('Wikipedia:WikiProject User scripts/Scripts/Add_purge_to_tabs'); //Adds a "purge" tab
importScript('Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited'); //All changes since your last edit in a diff in "Since" tab
importScript('User:Magnus_animum/count.js'); //Adds an edit count tab to each page
importScript('User:Ais523/stubtagtab2.js'); // Tab to mark as stub. Gets options from Wikipedia:WikiProject Stub sorting dump
//http://en.wikipedia.org/w/api.php?action=parse&prop=text&text=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FWikipedia%3AWikiProject_Stub_sorting%2FStub_types%2FCommerce&format=xml FOR when I want to edit the script further
importScript('User:Cacycle/watchlistSorter.js'); // "Sorts, color-codes by namespace, Keeps a Most recent section on top.
importScript('User:Omegatron/monobook.js/dashfixer.js'); // em-dash fixer
importScript('User:Barticus88/WhatLinksHere.js'); //Choose namespace for "What links here" pages
importScript('MediaWiki:Gadget-markblocked.js', 'ru'); //Strikes out all blocked users
importScript('User:Sander Säde/quickpreview.js');
importScript('User:Henrik/js/automod.js'); //Status updates
importScript('User:Ais523/bracketmatch.js'); // Bracket highlighting
importScript('User:Cameltrader/Advisor.js'); //points out stylistic issues
/*******************************************/
importScript('User:AndyZ/peerreviewer.js'); //[[User:AndyZ/peerreviewer.js]]
/****** Add WikiProject Banners *********/
// [[User:Outriggr/metadatatest.js]] <nowiki>
importScript('User:Outriggr/metadatatest.js');
assessmentMyTemplateCode = ["{{WPMED|class=|importance=}}", "{{WikiProject Genetics|class=|importance=}}", "{{MedGen|class=}}", "{{PathologyWikiProject}}", "{{WikiProject Pharmacology|class=|importance=}}", "{{WikiProject PDD|class=}}", "{{WikiProject Drug Policy|class=}}", "{{WikiProject Law|class=|importance=}}", "{{WikiProject Universities|class=}}", "{{Film|class=}}", "{{WikiProject Lists}}"];
assessmentDefaultProject = "TemplateA";
// </nowiki>
/******** Floating sidebar ********/
/* DISABLED
// Originally at http://meta.wikimedia.org/wiki/Help:User_style/floating_quickbar
// Restructure the page so that the sidebar can be floated
addOnloadHook(function () {
content = document.getElementById("column-content"); // Find the main content column
// Move the footer into the main column so that it scrolls
footer = document.getElementById("footer"); // Find the footer
footer.parentNode.removeChild(footer); // Remove the footer from the global wrapper
content.appendChild(footer); // Place footer at the end of the content column;
// Move the tabs into the main column so that they scroll
tabs = document.getElementById("p-cactions"); // Find the top tab list
tabs.parentNode.removeChild(tabs); // Remove the tab list from the side column
content.insertBefore(tabs,content.firstChild); // Place tab list at the beginning of the content column
// Move the personal links into the main column so that they scroll
personal = document.getElementById("p-personal"); // Find the personal links list
var nodeBefore = document.getElementById('pt-logout');
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/monobook.js', 'js', 'pt-monobookjs', 'monobook.js is used for storing user javascripts', '', nodeBefore);
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/monobook.css', 'css', 'pt-monobookcss', 'monobook.css is used for storing user CSS styles', '', nodeBefore);
// (I made this!)
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/todo', 'todo', 'pt-todo', 'my to-do list', '', nodeBefore);
// also make one for "goals"?
//mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/Sandbox', 'My sandbox', 'pt-sandbox', 'My sandbox is used for testing things', '', nodeBefore);
personal.parentNode.removeChild(personal); // Remove the personal links list from the side column
content.insertBefore(personal,content.firstChild); // Place personal links list at the beginning of the content column
});
END DISABLED SIDEBAR*/
/**************************/
//Give the labels on the personal toolbar shorter names
addOnloadHook(function() {
var tab = document.getElementById('pt-preferences');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'prefs';
});
addOnloadHook(function() {
var tab = document.getElementById('pt-mytalk');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'talk';
});
addOnloadHook(function() {
var tab = document.getElementById('pt-watchlist');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'watches';
});
addOnloadHook(function() {
var tab = document.getElementById('pt-mycontris');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'edits';
});
addOnloadHook(function() {
var tab = document.getElementById('pt-logout');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'logout';
});
addOnloadHook(function() {
var tab = document.getElementById('ca-talk');
if(!tab) return;
var tablink = tab.getElementsByTagName('a')[0];
if(!tablink) return;
tablink.firstChild.nodeValue = 'talk';
});
/************************************************************************/
//My variation of the WP:WikiProject User Scripts/Scripts/Six tabs script.
if (wgNamespaceNumber >= 0)
addOnloadHook(function(){
var pCactions = document.getElementById('p-cactions');
if (!pCactions) return;
var caMain = pCactions.getElementsByTagName('li')[0];
var caTalk = document.getElementById('ca-talk');
var caEdit = document.getElementById('ca-edit');
if (!caEdit) caEdit = document.getElementById('ca-viewsource');
var caHistory = document.getElementById('ca-history');
if (!caMain || !caTalk || !caEdit || !caHistory) return;
var el_move, el_create, id2;
if (wgNamespaceNumber % 2) { //talk space
el_move = caTalk; el_create = caMain; id2 = ''; id2dash = ''; id2cap = '';
} else {
el_move = caMain; el_create = caTalk; id2 = 'dicussion'; id2dash = '-discussion'; id2cap = 'Discussion ';
}
caEdit.firstChild.innerHTML = 'edit';
caHistory.firstChild.innerHTML = 'history';
el_move.parentNode.insertBefore(caHistory, el_move.nextSibling);
el_move.parentNode.insertBefore(caEdit, el_move.nextSibling);
var href = el_create.firstChild.getAttribute('href', 2);
if (el_create.className.indexOf('new') < 0){
mw.util.addPortletLink('p-cactions', href + '?action=history', 'history',
'ca-history'+id2dash, id2cap+'history', '', el_create.nextSibling);
mw.util.addPortletLink('p-cactions', href + '?action=edit', 'edit',
'ca-edit'+id2dash, 'Edit '+id2, '', el_create.nextSibling);
}
caMain.style.marginRight = '0.25em';
caTalk.style.marginRight = '0.2em';
caTalk.style.marginLeft = '1.1em';
})
/*********************************************/
// My code to replace the template on articles that are labelled as a "biochem" stub but are clearly related to pharmacology!
// Loosely based on the stubtagtab2 and stubremove scripts
function replacestub() {
var contents = document.getElementById('wpTextbox1').value; //collect everything currently in article
var newcontents = contents.replace(/\{\{biochem(istry)?-stub\}\}/gi, "{{pharma-stub}}"); //find biochem-stub or biochemistry-stub, replace
document.getElementById('wpTextbox1').value = newcontents + "debuggeriffic"; //put all the contents back
document.getElementById('wpSummary').value = "Replacing biochem-stub with pharma-stub"; //edit summary
} //end replacestub()
/*
function biochem2pharma() {
if (window.location.href.indexOf('action=edit') != -1) { replacestub(); } //we're editing
else if (window.location.href.indexOf('action=edit') == -1) { //not editing yet
location.href = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(mw.config.get('wgPageName')) + "&action=edit&bchm2phm=1"; //go edit
}//end else
}//end biochem2pharma()
*/
addOnloadHook(function()
{ //Generate a tab
if(wgCanonicalNamespace == "" || wgNamespaceNumber == 4)
{ //Only add stubs to articles
mw.util.addPortletLink('p-cactions', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit&bchm2phm=1', 'bchm2phm', 'ca-bchm2phm', 'Convert a biochemistry stub to a pharmacology stub');
}
if(document.getElementById("editform") != null && location.href.indexOf("&bchm2phm=1")!= -1 && (wgCanonicalNamespace == "" || wgNamespaceNumber == 4)) { replacestub(); }
});
/********************************************************
IN PROGRESS!!!!!!!!
addOnloadHook(function() {
if(editmode)
/* Make red links really stand out when I am editing */
/* a.new{font-weight:bold; text-decoration:underline;} */
/* Make red links appear as almost-normal text when I am reading */
/* a.new{color:#444444}
});
********************************************************/
addOnloadHook(function(){
if ((wgNamespaceNumber % 2 || wgNamespaceNumber==4)
&& document.URL.match(/&action=(edit|submit)/))
{
var wpSave = document.getElementById('wpSave');
if (!wpSave) return; //if you can't save, you obviously can't add sig!
if (!window.sigText) //change normal sig button as well
sigText = '— ~~\~~';
mwEditButtons[9].tagOpen = sigText;
//create button
var btn = document.createElement('input');
btn.type='button'; btn.value = '~';
btn.onclick = function(){ insertTags(sigText,'','') };
btn.style.marginRight = '4px';
btn.title = 'Put your signature';
//if (window.sigAccessKey){
//btn.accessKey = sigAccessKey;
//btn.title += ' [' + tooltipAccessKeyPrefix + btn.accessKey + ']';
//}
wpSave.parentNode.insertBefore(btn, wpSave);
/*
//for 'Wikipedia:' namespace: Sig is ok on Forum pages, on all others put it after Save button
if ( wgNamespaceNumber==4 && (!wgTitle.match(^(Village pump|Reference desk\/|Deletion review\/|Articles for deletion\/|Templates for deletion\/|.*noticeboard.*|Requests for (adminship|checkuser|arbitration|feedback|page protection|mediation)|Bot requests|Help desk|Editor review|Adminship survey|Cleanup|Miscellany for deletion|New contributors\' help page|Media copyright questions)))) {
wpSave.parentNode.insertBefore(btn, wpSave.nextSibling);
return; //avoid warning below
} */
//warn if saving without signature
wpSave.onclick = function(){
if (document.editform.wpTextbox1.value.indexOf('~\~~') >= 0 )
return true
else
return confirm('No signature?')
}
}
}); //note: still does not put this on non-talk/WP pages
/***********************************/
addOnloadHook(function(){
var nodeBefore = document.getElementById('pt-logout');
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/monobook.js', 'js', 'pt-js', 'monobook.js is used for storing user javascripts', '', nodeBefore);
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/monobook.css', 'css', 'pt-css', 'monobook.css is used for storing user CSS styles', '', nodeBefore);
// (I made this!)
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/todo', 'todo', 'pt-todo', 'my to-do list', '', nodeBefore);
// also make one for "goals"?
mw.util.addPortletLink('p-personal', '/w/index.php?title=Special:PrefixIndex&prefix=Skittleys&namespace=2', 'subs', 'pt-subs', 'Subpages of my userspace', '', document.getElementById('pt-preferences'));
mw.util.addPortletLink('p-personal', '/wiki/Special:MyPage/sandbox', 'sand', 'pt-sand', 'my sandbox', '', document.getElementById('pt-js'));
});