User:ACoolThing/global.js

importArticles({   type: 'script',    articles: [        'u:dev:MediaWiki:MassEdit/code.js',        'u:dev:MediaWiki:Rollback/code.js',        'u:dev:MediaWiki:UsernameAvailability/code.js',        'u:dev:MediaWiki:MassCategorization/code.js',        'u:dev:MediaWiki:LastEdited/code.js',        'u:dev:MediaWiki:MassBlock/code.js',        'u:dev:MediaWiki:MassProtect/code.js',        'u:dev:MediaWiki:MassUserRights/code.js',        'u:dev:MediaWiki:MastheadGender/code.js',        'u:dev:MediaWiki:Discussions Delete All/code.js',        'u:dev:MediaWiki:EditcountTab.js',        'u:dev:MediaWiki:GlobalEditcount/code.js',        'u:dev:MediaWiki:PowerDelete.js',        'u:dev:MediaWiki:SandboxTab/code.js',        'u:dev:MediaWiki:TopicBlockLog/code.js',        'u:dev:MediaWiki:WallGreeting.js'    ] });

// yeet

$( function($) {   if((wgNamespaceNumber != 0) && (wgNamespaceNumber != 2)) {        // only check links in mainspace and userspace (for userspace drafts)        return;    }    var portletlink = mw.util.addPortletLink('p-tb', '#', 'Highlight duplicate links', 'ca-findduplicatelinks');    $(portletlink).click( function(e) { e.preventDefault; // create a separate div surrounding the lead // first get the element immediately surrounding the article text. Unfortunately, MW doesn't seem to provide a non-fragile way for that. var content = ".mw-content-ltr"; $(content).prepend(document.createElement('div')); var lead = $(content).children[0]; $(lead).attr('id', 'lead'); $(content).children.each( function {           if(this.nodeName.toLowerCase == 'h2') {                return false;            }            if($(this).attr('id') != 'lead') {                $(lead).append(this);            }            return true;        }); // detect duplicate links mw.util.addCSS(".duplicate-link { border: 1px solid red; }"); var finddups = function { var href = $(this).attr('href'); if(href != undefined && href.indexOf('#') != 0) { if(seen[href]) { $(this).addClass("duplicate-link"); }               else { seen[href] = true; }           }            return true; };       // array to keep track of whether we've seen a link before var seen = []; mw.util.$content.find('p a').not('#lead *, .infobox *, .navbox *').each(finddups); var seen = []; mw.util.$content.find('#lead p a').not('.infobox *, .navbox *').each(finddups); }); });