User:Qwerfjkl/scripts/getLinks.js

// Fork of User:GhostInTheMachine/SDlinkMaker $.when( mw.loader.using( ['mediawiki.util'] ), $.ready ) .done( function { mw.util.addPortletLink( 'p-cactions', '#',   'getlinks', 'ca-get-links', 'Build list of links' ); $('#ca-get-links').click(getLinks); });

function getLinks{

var $links = $("#mw-content-text a[href^='/wiki/'].nonimage"); var links = []; $links.each(function {   var href = this.href;

if( href && href.substring(0,30) === 'https://en.wikipedia.org/wiki/' ) { href = href.substring(30); if( href.substring(0,5) !== 'Talk:'       && href.substring(0,5) !== 'File:'        && href.substring(0,5) !== 'Help:'        && href.substring(0,5) !== 'User:'        && href.substring(0,9) !== 'Category:'        && href.substring(0,9) !== 'Template:'        && href.substring(0,10) !== 'Wikipedia:'        && href.substring(0,10) !== 'File_talk:'        && href.substring(0,10) !== 'Help_talk:'        && href.substring(0,10) !== 'User_talk:'        && href.substring(0,14) !== 'Category_talk:'        && href.substring(0,14) !== 'Template_talk:'      ) { links.push(href); }   }  });

links.sort(function (a, b) {   return a.toLowerCase.localeCompare(b.toLowerCase);  });

var prev = ''; var page = '';

$(links).each(function {   //  this is a string object    thistext = this.trim.toLowerCase;    if( thistext !== prev ) {      prev = thistext;      thistext = mw.Uri.decode(this).replace(/_/g, ' ');      page += thistext+"\n";    }  }); // Taken from User:Enterprisey/diff-permalink.js getlinkslist = $( " " ).append(       "Links: ",        $( " " ) // doesn't allow newlines            .attr( { "id": "getlinks-list" } )            .val( page ),        $( " " )            .text( "Copy" )            .css( { "padding": "0.5em", "cursor": "pointer", "margin-left": "0.5em" } )            .click( function  { document.getElementById( "getlinks-list" ).select; document.execCommand( "copy" ); mw.notify('Copied.') } ) ); $( "#contentSub" ).after( getlinkslist ); }