User:Michaelkpabst/monobook.js

/*

 */

/* 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('

+ 'ipt>');

}

/* Included functions */

winc('User:Omegatron/monobook.js/replacetab.js'); // Regex replacements in the text (from User:Trilobite/Tools)

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/unwatch.js'); /* Adds unwatch links to watchlist entries */

/*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)

/*

*/

// installation of the wikEd editing page extension

// install User:Cacycle/diff text diff code

mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js'

+ '&action=raw&ctype=text/javascript');

// install User:Pilaf/Live_Preview page preview tool

mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Pilaf/livepreview.js'

+ '&action=raw&ctype=text/javascript');

// install RegExTypoFix common typo fixer

mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Cacycle/RegExTypoFix.js'

+ '&action=raw&ctype=text/javascript');

// install User:Cacycle/wikEd international translation here

// install User:Cacycle/wikEd editing page extension

mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'

+ '&action=raw&ctype=text/javascript');

/*

 */

/* This function is used to include individual scripts from Quarl's pages in mine. */

function qinc(s) {

document.write('

+ 'ipt>');

}

/* Move things around so that sidebar can be fixed in position and content can scroll independently */

/* See meta:Help:User style/floating quickbar */

$(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 */

$(function () {

/* Adds some links to my personal tools section ("My monobook.js", "My monobook.css", "My sandbox") */

addLink('p-personal', '/wiki/User:Omegatron/monobook.js', 'My monobook.js', 'pt-monobookjs', 'monobook.js is used for storing user javascripts', '', 'pt-logout');

addLink('p-personal', '/wiki/User:Omegatron/monobook.css', 'My monobook.css', 'pt-monobookcss', 'monobook.css is used for storing user CSS styles', '', 'pt-logout');

addLink('p-personal', '/wiki/User:Omegatron/Sandbox', 'My sandbox', 'pt-sandbox', 'My sandbox is used for testing things', '', 'pt-logout');

addLink('p-personal', '/w/index.php?title=Special%3AAllpages&from=Omegatron&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. */

$(function () {

var tabs = document.getElementById('p-cactions').cloneNode(true);

tabs.id = 'mytabs';

var listitems = tabs.getElementsByTagName('LI');

for (i=0;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 */

$(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, '$1');

content = content.replace(ruleRE, function(text, selector, body) {

selector = selector.replace(idselectorRE, '$1');

selector = selector.replace(classselectorRE, '$1');

body = body.replace(pairRE, '$1:$2;');

return selector + '{' + body + '}';

});

c.innerHTML = content;

}

}

});

/* Popup audio help links */

document.write('

+ 'ipt>');

/*

*/