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.
// Cf. [[m:User:Blablubbs/global.js]]

//-----------------------------------
// Local moremenu
//-----------------------------------
mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () {
	mw.loader.load('//en.wikipedia.org/w/?title=MediaWiki:Gadget-MoreMenu.enwiki.js&action=raw&ctype=text/javascript');
});


//-----------------------------------
// Navigation
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/fancy-diffs.js'); // Clickable links in diffs + other improvements
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/superjump.js'); // Moar access keys, config at [[User:Blablubbs/superjump-config.json]]


//-----------------------------------
// SPI
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:GeneralNotability/spihelper.js'); 
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Blablubbs/cuStalenesseverywhere.js'); // Staleness indicators for stuff in {{checkuser}} templates; fork of [[User:Writ_Keeper/Scripts/cuStaleness.js]] that  doesn't care whether you're on a casepage
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Writ Keeper/Scripts/sockStaleness.js'); // Staleness indicators in sock categories
maxUsersCUStaleness = 500;
lazyCheckCUStaleness = false;
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:GeneralNotability/cumarkips.js'); // Marks off-limit IPs
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:RoySmith/tag-check.js'); // show presence and type of sock tags for accounts in CU templates


//-----------------------------------
// Deletion
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:HighInBC/attackPageNotifier.js'); // Small but very red portlet link that appears when there is a G10 nomination 
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/link-deleted-revs.js'); // Link to Special:Undelete from deleted pages
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Blablubbs/massrevdel_NOS.js'); // Revdel from contribs; same as [[User:Writ Keeper/Scripts/massRevdel.js]], but removes the OS-related buttons 
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Amorymeltzer/unhide.js');  // Automatically unhide revision-deleted diffs
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:SD0001/RFUD-helper.js'); // RFUD but less effort; also shows last revision of a deleted page without visiting Special:Undelete


//-----------------------------------
// (Un)blocks
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Mr. Stradivarius/gadgets/SpamUserPage.js'); // Delete userpage and indef the user in question
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Blablubbs/twinkle-blockreasons.js'); // Custom block presets for twinkle
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/unblock-review.js'); // Unblock reviews without fiddling with source code
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Firefly/more-block-info.js'); // Show all rangeblocks affecting a given IP, not just the narrowest one
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Nardog/RefRenamer.js'); // Automatically replace VE ref names (":0" etc.) with more descriptive ones
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Mesidast/Tidy citations.js'); // Make citation whitespace consistent


//-----------------------------------
// Content Editing 
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:BrandonXLF/Autoref.js'); // Automatic citations in the old wikitext editor 
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Ohconfucius/dashes.js'); // Automatically format dashes
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Ucucha/HarvErrors.js'); // Display issues in harv style citations
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Ohconfucius/script/EngvarB.js'); // Automatically switch between ENGVAR styles
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Headbomb/unreliable.js'); // Highlight bad sources
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Blablubbs/unreliable-rules.js');


//-----------------------------------
// Copyvios
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:The Earwig/copyvios.js'); // Portlet link to copyvio tool 
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:The Earwig/revdel-responder.js'); // Add response buttons within the cv-revdel template
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/url-select-revdel.js'); // Link to history with preselected revisions from cv-revdel templates


//-----------------------------------
// Discussions
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:DannyS712/DiscussionCloser.js'); // Close discussions


//-----------------------------------
// Misc
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Mr. Stradivarius/gadgets/Draftify.js'); // Move back to draft and notify creator
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Bradv/Scripts/Notepad.js'); // Small note tab on all pages
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:L235/dynamicScriptLoader.js'); // Use the above to execute arbitrary js
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:MusikAnimal/responseHelper.js'); // Various links to templates at RFPP, AIV etc.
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:MusikAnimal/userRightsManager.js'); // Assign user right at PERM and automatically notify
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Blablubbs/search-shortcuts.js'); // Search expansion
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Firefly/copyloglink.js'); // Simplify log link copying


//-----------------------------------
// Filters
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Enterprisey/abusefilter-diff-check.js'); // Check if diff hit AF
// mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:GeneralNotability/edit-filter-hit-analyzer.js'); // Show filter rules to help figure out what matched a hit
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Suffusion_of_Yellow/filterNotes.js' ); // Make filter notes less annoying
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Suffusion_of_Yellow/filterDiff.js'); // Show diffs of filter changes
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Ingenuity/AbuseFilterContribs.js'); // Thread disallow hits into contribs pages


//-----------------------------------
// Mass tools
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Timotheus_Canens/massblock.js'); // Blocks
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Animum/massdelete.js'); // Deletions
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Timotheus_Canens/massprotect.js'); // Protections
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Frietjes/masspurge.js'); // Purge
mw.loader.load('//en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Timotheus_Canens/massunblock.js'); // Unblocks


//-----------------------------------
// CU
//-----------------------------------
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:GeneralNotability/InvestorGoat.js&action=raw&ctype=text/javascript'); // UA highlight stuff


// mw.loader.load('http://localhost:8000/test.js'); local testing