Jump to content

User:Saizai/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// <pre> <nowiki>

// [[User:Dschwen/highlightredirects.js]] - please include this line 
importScript('User:Dschwen/highlightredirects.js');

// should make deleted / up-for-deletion links highlighted
importScript('User:Anomie/linkclassifier.js'); // Linkback: [[User:Anomie/linkclassifier.js]]
importStylesheet('User:Anomie/linkclassifier.css'); // Linkback: [[User:Anomie/linkclassifier.css]]

importScript('User:Ais523/votesymbols.js');
importScript('User:Ais523/highlightmyname.js'); // or highlightmyname2.js to not highlight in edit boxes

// adds edit/hist for the *other* tag (article / discussion)
importScript('Wikipedia:WikiProject User scripts/Scripts/Six tabs');

// Autolink [[wikilinks]] and {{templates}} (especially useful for monobook.js and similar pages)
importScript('Wikipedia:WikiProject User scripts/Scripts/Autolink');

// Logs link in toolbox
importScript('Wikipedia:WikiProject User scripts/Scripts/Logs link');
 
// Purge tab
importScript('Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs');

// [[User:Henrik/live-edit-counter]]
importScript('User:Henrik/js/live-edit-counter.js'); 

// Gives assessment data for an article
importScript('User:Pyrospirit/metadata/projectbanners.js');
importScript('User:Drilnoth/assessortags.js');
assessortagsConfig.customBannerList	= [{label: 'WP conlangs', 
value: 'WP conlangs\|class=\|importance=\|needs-infobox=\|Esperanto=' }]

// [[User:Lupin/Anti-vandal tool]]
importScript("User:Lupin/recent2.js");

importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');

// WATCHLIST MODIFICATIONS

importScript('Wikipedia:WikiProject User scripts/Scripts/Watchlist since'); //[[Wikipedia:WikiProject User scripts/Scripts/Watchlist since]]

// importScript('User:Ais523/watchlistnotifier.js');

// not compatible with JS-ified watchlists
// importScript('User:Ais523/catwatch.js');

// importScript('User:Alex Smotrov/wlunwatch.js');
// this makes the above load only on request
if (mw.config.get('wgCanonicalSpecialPageName') && mw.config.get('wgCanonicalSpecialPageName')=='Watchlist' && mw.config.get('wgAction')=='view') 
$(function () {
var frm = document.getElementsByTagName('form')[0];
frm.parentNode.insertBefore(document.createTextNode(' | '), frm);
var lnk = document.createElement('a');
lnk.appendChild(document.createTextNode('Unwatch…'));
lnk.href = 'javascript:importScript("User:Alex_Smotrov/wlunwatch.js")';
frm.parentNode.insertBefore(lnk, frm);
})

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

// </nowiki> </pre>