Jump to content

User:Vox Rationis/monobook.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Vox Rationis (talk | contribs) at 15:22, 6 February 2007 (added code). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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
// used for auto signing script
var usersignature = '<span style=\"white-space:nowrap;\"> --\~\~\~ <small>\~\~\~\~\~<\/small><\/span>\n';

if(!wgIsArticle) // only if edit
  addOnloadHook( function() { 
  if(document.getElementById('toolbar'))
    mwEditButtons[9].tagOpen = usersignature;
})

/*Takes the wikipage "page" and includes it's raw text as javascript.*/ 
function importPage(page,lang){ // all languages support
 if(!lang)lang=wgContentLanguage;
 page='http://'+lang+'.wikipedia.org/w/index.php?title=User:'+page
 +'&action=raw&ctype=text/javascript&smaxage=2678400&dontcountme=s';
 lang=document.createElement('script');
 lang.setAttribute('type','text/javascript');
 lang.setAttribute('src',page);
 document.getElementsByTagName('head').item(0).appendChild(lang);
};

//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);
});
var XEBOrder = "C,D1,E,K,L,M,O,P,R,T,T1,N"; // Extra edit buttons
var rmEditButtons = [2,6,7,10]; // remove standard buttons

//importPage('MarkS/extraeditbuttons.js') // [[User:MarkS/Extra_edit_buttons]]
importPage('MarkS/Extra edit buttons/dev.js') // [[User:MarkS/Extra_edit_buttons]]

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/wikEd.js') // [[User:Cacycle/wikEd]] rich text editor
importPage('Olliminatore/wikEd_international_de','de') // install a [[User:Cacycle/wikEd international]] translation

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]