Jump to content

User:Simetrical/monobook.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Simetrical (talk | contribs) at 22:37, 15 January 2007 (Profiling done). 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.
 // [[User:Lupin/popups.js]] - please include this line
 
 document.write('<script type="text/javascript" src="' 
              + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
              + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
 popupFixDabs=true;
 
 
 /* 
 All of the following awesomeness (including comments) is stolen from [[User:Omegatron/monobook.js]].
 I may modify it a bit . . .
 */  
 
 
 /* This function is used to include scripts from other Wikipedia pages in mine.  I got it from
    [[User:Quarl/monobook.js]]. */
 
 function winc(s) {
     s = s.replace(/^\[\[/, '').replace(/\]\]$/, '');
     document.write('<scr' + 'ipt type="text/javascript" src="' 
              + 'http://en.wikipedia.org/w/index.php?title=' + s
              + '&action=raw&ctype=text/javascript&dontcountme=s"></scr' 
              + 'ipt>');
 }
 
 
 /* Included functions */
 
 winc('[[User:Omegatron/monobook.js/addlink.js]]');         /* Adds links to lists on the page, such as the personal tools section */
 winc('[[User:Omegatron/monobook.js/fixdiffwidth.js]]');    /* Cleans up the diff so that long lines don't explode the width of the page. */
 winc('[[User:Omegatron/monobook.js/edittop.js]]');         /* Adds a link to edit the top (intro) section of an article */
 // winc('[[User:Omegatron/monobook.js/namedredirect.js]]');   /* Learning XMLHttpRequest while workarounding [[Bugzilla: 218]] */
 // /*winc('[[User:Omegatron/monobook.js/autolinker.js]]');      Make [[links]] and {{templates}} clickable */
 
 
 /* Add some extra tabs with different functionalities. */
 
 winc('[[User:Omegatron/monobook.js/replacetab.js]]');               // Regex replacements in the text (from [[User:Trilobite/Tools]])
 winc('[[User:Omegatron/monobook.js/unverified.js]]');               // Tag unverified images (from [[User:Trilobite/Tools]])
 // // winc('[[User:Omegatron/monobook.js/addsincetab.js]]');           // Shows difference between my last edit and current version ([[Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited]])
 winc('[[User:Omegatron/monobook.js/dashfixer.js]]');                // Converts -- into — and so on (User:Omegatron)
 // winc('[[User:Omegatron/monobook.js/unitformatter.js]]');            // Formats units according to SI (User:Omegatron)
 // winc('[[User:Omegatron/monobook.js/mathcharacterfixer.js]]');       // Fixes up some math characters (not TeX) (User:Omegatron)
 // winc('[[User:Omegatron/monobook.js/headingformattingfixer.js]]');   // Adds and removes whitespace to make formatting consistent and readable (User:Omegatron)


 /* This function is used to include individual scripts from Quarl's pages in mine. */
 
 function qinc(s) {
     document.write('<scr' + 'ipt type="text/javascript" src="' 
              + 'http://wikipedia.quarl.org/scripts/' + s
              + '.js"></scr' 
              + 'ipt>');
 }
 
 
 
 /* All kinds of scripts from [[User:Quarl]] */
 
 qinc('module');
 qinc('datetime');
 qinc('msg');
 qinc('util');
 qinc('wikiwidget');
 qinc('wikins');
 qinc('wikipage');
 qinc('wikiedit');
 qinc('diff');
 qinc('shortcuts');
 qinc('diffsince');
 qinc('wikiwatch');
 qinc('watchlist');
 qinc('watchbutton');
 // qinc('autofocus');
 // qinc('autosummary');
 // // qinc('smartsubmit');
 // qinc('newmessages');
 qinc('tabsince');
 // 
 addOnloadHook(function () {
 
 $watchbutton.widgetLoad(); 
 $tabsince.widgetLoad();
 $watchlist.widgetLoad();
 
 /* [[User:Omegatron/monobook.js/quarl.js]] */
 
 /* uncomment this to hide alert() errors */
 $msg.alert_disabled=true;
 
 });
 
 // /* Live Preview */
 // 
 // wpUserName   = wgUserName;   // User name to display in signatures
 // wpShowImages = true;      // Enable downloading and displaying of images
 // 
 // // winc('[[User:Pilaf/livepreview.js]]');
 // 
 // // Now set everything up
 // /* Convert to addonloadhook?  Can't because function doesn't exist yet. */
 // /* window.onload = Main;
 // function Main()
 // {
 //  LivePreviewInstall();
 //  // You may include here other "extensions"
 // }*/
 // 
 // 
 // /* Move things around so that sidebar can be fixed in position and content can scroll independently */
 // /* See [[meta:Help:User style/floating quickbar]] */
 // 
 // addOnloadHook(function () {
 //     var content = document.getElementById("column-content");    // Find the main content column
 // 
 //     var 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;
 // 
 //     var 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
 // });
 // 
 // /* Do some things when the page loads */
 // 
 addOnloadHook(function () {
 
     /* Adds some links to my ''personal tools'' section ("My monobook.js", "My monobook.css", "My sandbox") */
 
     addLink('p-personal', '/wiki/User:'+wgUserName+'/monobook.js', 'My monobook.js', 'pt-monobookjs', 'monobook.js is used for storing user javascripts', '', 'pt-logout');
     addLink('p-personal', '/wiki/User:'+wgUserName+'/monobook.css', 'My monobook.css', 'pt-monobookcss', 'monobook.css is used for storing user CSS styles', '', 'pt-logout');
     addLink('p-personal', '/wiki/User:'+wgUserName+'/Sandbox', 'My sandbox', 'pt-sandbox', 'My sandbox is used for testing things', '', 'pt-logout');
     addLink('p-personal', '/w/index.php?title=Special%3AAllpages&from='+wgUserName+'&namespace=2', 'My subpages', 'pt-subpages', 'Subpages of my userspace', '', 'pt-logout');
 
     /* Shorten "edit this page" to just "edit" */
     if(document.getElementById('ca-edit')) {
         document.getElementById('ca-edit').firstChild.innerHTML = 'edit';
     }
 
 });
 
 
 // /* Duplicate all the tabs from the top on the bottom of the content box, too.  */
 // /* From [[Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom]]. */
 // 
 // addOnloadHook(function () {
 //     var tabs = document.getElementById('p-cactions').cloneNode(true);
 //     tabs.id = 'mytabs';
 //     var listitems = tabs.getElementsByTagName('LI');
 //     for (i=0;i<listitems.length;i++) {
 //         if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;
 //     }
 // 
 //     var content = document.getElementById("content");    // Find the content div
 //     content.parentNode.insertBefore(tabs, content.nextSibling);    // Place tab list right after content div
 // });
 // 
 // 
 /* Syntax highlighting on pre areas */
 /* See [[Wikipedia:WikiProject User scripts/Scripts/Syntax highlighter]] */
 
 addOnloadHook(function () {
     /* CSS syntax highlighting */
     if(document.title.indexOf(".js") == -1) {         //   Ignore pages that end in .js 
         var multicommentRE = new RegExp('(/\\*[\\s\\S]*?\\*/)', 'g');
         var ruleRE = new RegExp('([^\\{]+)\\{([^\\}]+)\\}', 'g');
         var idselectorRE = new RegExp('(#[a-zA-Z0-9\-\_]+)\\b', 'g');
         var classselectorRE = new RegExp('(\\.[a-zA-Z0-9\-\_]+)\\b', 'g');
         var pairRE = new RegExp('([a-zA-Z-]+):([^;]+);', 'g');
         var css = document.getElementsByTagName('pre');
         for (i = 0; i < css.length; i++) {
             var c = css[i];
             var 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;
         }
     } 
 });
 
 // /* Popup audio help links */
 // 
 // document.write('<scr' + 'ipt type="text/javascript" src="' 
 //              + 'http://en.wikipedia.org/w/index.php?title=User:Omegatron/monobook.js/audiopops.js'
 //              + '&action=raw&ctype=text/javascript&dontcountme=s"></scr' 
 //              + 'ipt>');
 //