User:Mysid/common.js

importScript("User:Blue-Haired Lawyer/footnote popups.js"); // Simplified edit section 0 (User:ais523/editsection0tab.js) // Loosely based on WikiProject User scripts/Scripts/Add edit section 0 // $(function { var x=document.getElementById('ca-history');  if(x!=null)    mw.util.addPortletLink('p-cactions', mw.config.get('wgServer')+mw.config.get('wgScript')+"?title="+encodeURIComponent(mw.config.get('wgPageName'))+ "&action=edit&section=0", '0', 'ca-edit-0', 'Edit the lead section of this page', '0', x); });

document.getElementById('p-logo').innerHTML = '';

/*	SMALLER TEMPLATES Description: Makes maintenance templates such as {cleanup} to appear smaller so that they take up less space. Link: User:Gary King/smaller templates.js TODO Click on template to expand it to full. TODO For Multiple Issues, hover over box to see issues. if (typeof(unsafeWindow) != 'undefined') {	mw = unsafeWindow.mw; } function smallerTemplates {	mw.util.addCSS('\		.mbox-image div, .mbox-image .image, .mbox-imageright { display: none; }\		table.ambox { margin: 0 20%; }\		table.ambox { -moz-border-radius: 0px; }\	'); formatBoxes('ambox-content'); formatBoxes('ambox-delete', true); formatBoxes('ambox-move', true); formatBoxes('ambox-notice'); formatBoxes('ambox-protection'); formatBoxes('ambox-style'); } function formatBoxes(className, allSentences) {	mw.util.addCSS('.' + className + ' td { padding: 0 0.25em !important; font-size: 0.8em !important; line-height: 1.5em; }'); var box = $('.' + className); box.each(function	{		boxInit(className, $(this), allSentences);	}); } function boxInit(className, box, allSentences) //, margin , width {		var boxForText = $('.mbox-text', box); // if box is first element on page, then add a top margin if (box.prev.attr('id') == 'jump-to-nav') box.css('margin-top', '0.25em'); // Show "X" number of multiple issues. var numberOfIssues; if ($('ul', boxForText.eq(0)).length) numberOfIssues = $('ul', boxForText.eq(0)).children.length; // strip bold, keep other formatting such as italics and links var boxText = boxForText.eq(0).text; // Boxes wrapped in more than one DIV, such as {multiple issues}. boxText = removeDivs(boxForText.eq(0)); // strip bold, and only keep the first sentence of the message box text boxText = boxText.html.replace(/<(b|strong)>(.*?)<\/(b|strong)>/gi, '$2'); if (!allSentences) boxText = firstSentenceOnly(boxText); else boxText = $(' ' + boxText + ' '); // If text is still wrapped in a tag, then we'll find it and strip it. // In {new unreviewed article}, for instance. if (boxText.children.length == 1 && boxText.children[0].nodeName == 'CENTER') boxText = boxText.children.eq(0); // In {multiple issues}, replace "multiple" with the actual number of issues. if (numberOfIssues) boxText = boxText.html.replace('multiple', numberOfIssues); else boxText = boxText.html; boxForText.eq(0).html(boxText); } // Remove DIVs from boxes that have several, such as {multiple issues}. function removeDivs(node) {	if (node.length && node.children.length && (node.children[0].nodeName == 'DIV')) {		node = $(node.children.eq(0).html); return removeDivs(node); }	else return node; } // Doesn't remove text following periods inside a node. function firstSentenceOnly(node, allSentences) {	// Convert to jQuery object if (typeof(node) == 'string') node = $(' ' + node + ' '); var periodFound = false; node.contents.each(function	{		if (periodFound == true) $(this).remove;		else if ($(this).text.indexOf('.') != -1)		{			periodFound = true;			if ($(this)[0].nodeValue && $(this)[0].nodeValue.indexOf('.') != -1) $(this)[0].nodeValue = $(this)[0].nodeValue.substring(0, $(this)[0].nodeValue.indexOf('.') + 1);		}	}); return node; } if (mw.util.getParamValue('disable') != 'smalltemplates' && ((mw.config.get('wgCanonicalNamespace') == '' || mw.config.get('wgPageName') == 'User:Gary_King/Sandbox' || mw.config.get('wgPageName') == 'Wikipedia:Template_messages/Cleanup') && mw.config.get('wgAction') == 'view')) {	$(smallerTemplates); }