User:Jkraai/monobook.js

/* Note: After saving, you have to bypass your browser's cache to see the changes. To do this in Firefox/Mozilla/Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R). If you use Internet Explorer: press Ctrl-F5, Opera/Konqueror: press F5.

AzaToth's reversion tools
*/ // importScript('User:AzaToth/twinkle.js'); /*

WikEd, replaces Firefox's text edit window
*/ // install User:Cacycle/wikEd in-browser text editor document.write(' '); /*

Lupin's anti-vandal tools
*/ // Script from User:Lupin/recent2.js mw.loader.load(            'https://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js'             + '&action=raw&ctype=text/javascript&dontcountme=s'); /*

Popups
*/ /* User:Lupin/popups.js */ mw.loader.load(            'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'             + '&action=raw&ctype=text/javascript&dontcountme=s'); /**/ /*

Watchlist sorter
Sorts your watchlist by namespace, and also adds spaces for readability. $(function { if (location.href.indexOf('Special:Watchlist') == -1) return; //Are we on a watchlist?  //days = document.getElementById('bodyContent').getElementsByTagName('ul');  days = document.evaluate( //Hell knows how it works - found in "Dive into Greasemonkey" "//ul[@class='special']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (d = 0; d < days.snapshotLength; d++) { //For each day    day = days.snapshotItem(d);    newday = document.createElement('ul'); //This will replace the old listing    while ((diffs = day.getElementsByTagName('li')).length > 0) { //Are there any diffs left?      //Try to extract the namespace      As = diffs[0].getElementsByTagName('a');      if (As[0].innerHTML == 'diff')        pagename = As[2].innerHTML;      else        pagename = As[1].innerHTML;      if (pagename.indexOf(':') == -1)        namespace = 'Main';      else        namespace = pagename.split(':')[0]; //This will fail for articles which contain ":" in name      hdrs = newday.getElementsByTagName('h5'); //Get the list of namespace headers      hdr = null;      for (j=0; j<hdrs.length; j++) //Find the header        if (hdrs[j].innerHTML==namespace) {          hdr = hdrs[j]; break;        }      if (hdr==null) { //Not found? Make a new one! hdr = document.createElement('h5'); hdr.innerHTML = namespace; newday.appendChild(hdr); namespacesub = document.createElement('ul'); newday.appendChild(namespacesub); }     hdr.nextSibling.appendChild(diffs[0]); //Move the diff }   newday.appendChild(document.createElement('hr')); //For readablility day.parentNode.replaceChild(newday,day); } }); mw.loader.load('//en.wikipedia.org/w/index.php?title=User%3AMarkS%2Fextraeditbuttons.js&action=raw&ctype=text/javascript'); // User:MarkS/extraeditbuttons.js;

statusChanger
This module will add 3 new links beside the "log out" link. These will be "in", "busy" and "out" for quickly changing your current Wikipedia status.

To enable this, first add the following line to your monobook file:

Additionally, you'll need two additional pages:
 * 1) Special:Mypage/Status
 * 2) Special:Mypage/StatusTemplate

The first one is the one modified by the script to hold  , where "STATUS" will be one of "in", "busy", "out". Then it is up to the "Template" to render it the way you wish. An example is:

You can tweak it to look whatever you like.

Then all you need is to put   on whatever pages you want the status to be displayed.

You can also define your own range of statuses using this statement (put it right after theimportScript statement):

Make sure your template knows how to handle these new values.

watchlistSorter
This tool that sorts your watchlist by namespace making it easier to browse for important edits - not recommended for people with thousands of pages watched. Not compatible with Internet Explorer. Not compatible with "Enhanced recent changes" option in Preferences.

To install it, add the following to your monobook:

viewSource
This code will create a new button called [view source] to the left of the [edit this page] button (unless you're already editing a page or the page is protected). Technically, it takes you to editing the page, but removes the interface (edit summary box, minor edit and watch checkboxes, save/preview/show changes buttons) below the editing box. This will prevent you from accidentally saving the page if you were just playing with the content.

To install it, add the following to your monobook:

pywikipedia scripts

 * User:Misza13/ace_voter.py - ArbCom Election voting script
 * User:Misza13/spoilerkill.py - interactive script to aid in the removal of redundant spoiler (and related) tags from articles
 * User:Misza13/browseCSD.py

MediaWiki template stuff
Other random stuff I've created:
 * User:Misza13/vote is the ultimate voting template! All in one, but since voting is evil and such templates have been pretty controversial in the past, use it at your own risk.
 * User:Misza13/CURRENTMINUTEOFDAY is a template that translates   (i.e. ') into a number of minutes passed since midnight: '
 * User:Misza13/Random is a Wiki-RNG! See for yourself!;