User:Alexander Z./monobook.js

Source: 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.
// Olliminatore/monobook.js

function importPage(site){
  document.write('<script type="text/javascript" src="/w/index.php?title=User:'
 + site + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');
}

//importPage('Ilmari_Karonen/fixdiffwidth.js') // [[User:Ilmari_Karonen/fixdiffwidth.js]] 

if (document.URL.indexOf("&diff=",29)>0) addOnloadHook(function (){
// DIFF WIDTH FIX: v1.1 upd.: only if needed set max.width 
  var diffT = document.getElementById("bodyContent"),
  diffTable = diffT.getElementsByTagName("table")[0];
  var diffT = diffTable.getElementsByTagName("tr")[0].getElementsByTagName("td"),
  diffo = diffT[0], diffn = diffT[1],
  diffoWidth = diffo.clientWidth,
  diffnWidth = diffn.clientWidth;
  if (diffnWidth==diffoWidth) return;
  diffT = (diffnWidth + diffoWidth)/2;
  diffTable.setAttribute("width", ((diffoWidth < diffnWidth)? diffnWidth: diffoWidth) +diffT+12);
});

importPage('Olliminatore/godmode-light.js') // [[User:Olliminatore/godmode-light.js]]

importPage('Ilmari_Karonen/sigdash.js') // [[User:Ilmari_Karonen/sigdash.js]] 

importPage('Cacycle/diff.js') // [[User:Cacycle/diff]] text diff code

importPage('Pilaf/livepreview.js') // [[User:Pilaf/Live_Preview]] page preview tool

importPage('Cacycle/editor.js') // [[User:Cacycle/editor]] edit tool

importPage('Olliminatore/sign.js') // [[User:Olliminatore/sign.js]] check & automate signing
 
importPage('Invitatious/unsigned2.js') // [[User:Invitatious/unsigned2.js]]

importPage('Zocky/SearchBox.js');  // [[User:Zocky/SearchBox.js]] /* extended search & replace feature  */

importPage('Lupin/popups.js') // [[User:Lupin/popups.js]]

/* Syntax highlighter */
if(document.title.indexOf(".js") == -1)     //   Ignore pages that end in .js
 addOnloadHook(function () {
  /* CSS syntax highlighting */
    multicommentRE = new RegExp('(/\\*[\\s\\S]*?\\*/)', 'g');
    ruleRE = new RegExp('([^\\{]+)\\{([^\\}]+)\\}', 'g');
    idselectorRE = new RegExp('(#[a-zA-Z0-9\-\_]+)\\b', 'g');
    classselectorRE = new RegExp('(\\.[a-zA-Z0-9\-\_]+)\\b', 'g');
    pairRE = new RegExp('([a-zA-Z-]+):([^;]+);', 'g');
    css = document.getElementsByTagName('pre');
    for (i = 0; i < css.length; i++) {
      c = css[i];
      content = c.innerHTML;
      content=content.replace(multicommentRE, '<span class="comment">$1</span>');
      content = content.replace(ruleRE, function(text, selector, body) {
        selector = selector.replace(idselectorRE, '<span class="idselector">$1</span>');
        selector = selector.replace(classselectorRE, '<span class="classselector">$1</span>');
        body = body.replace(pairRE, '<span class="property">$1</span>:<span class="value">$2</span>;');
        return selector + '{' + body + '}';
      });
      c.innerHTML = content;
    }
 });
else  /* Extreme Syntax highlighter (js)*/
 importPage('Olliminatore/shCore.js');  // [[User:Olliminatore/shCore.js]]