Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
// --- TOC ---
//	VARIOUS
//	SPECIAL PAGES
//		ABUSEFILTER
//		CONTRIBUTIONS
//		EMAILUSER
//		LOG
//		MOVEPAGE
//		RECENTCHANGES
//		SEARCH
//		UNUSEDCATEGORIES
//		USERRIGHTS
//		WANTEDCATEGORIES
//		WATCHLIST
//		WHATLINKSHERE
//	NOT SPECIAL
//	ARTICLES AND DRAFTS
//	DRAFTS
//	ARTICLES AND TALK
//	ARTICLES
//	ANYWHERE BUT ARTICLES
//		PROJECT SPACE
//		USER SPACE AND USER TALK SPACE
//		CATEGORIES
//		FILES
//		TEMPLATES
//		WP AND TALK SPACES
//	CONTRIBS, HISTORY, RECENT CHANGES, WATCHLIST
//	CONTRIBS, HISTORY
// --- END TOC ---

// VARIOUS

// Enable caching for resource loads, see [[:en:User:SD0001/Making_user_scripts_load_faster]], @revision 8
if(!/\bnocache=\b/.test(location.href)){let e=mw.config.values,t="text/javascript",o="text/css",n=(n,r,i)=>(n=n.replace(/special:mypage/i,"User:"+e.wgUserName),$.get("https://"+r+"/w/api.php?titles="+n+"&origin=*&format=json&formatversion=2&uselang=content&maxage=86400&smaxage=86400&action=query&prop=revisions|info&rvprop=content&rvlimit=1&inprop=protection").then((e=>{let a=e.query.pages[0];if(!a.missing){if(2!==a.ns&&8!==a.ns&&!a.protection.find((e=>"edit"===e.type&&"sysop"===e.level)))return $.Deferred().reject('Refused to load "'+n+'"@'+r+": unprotected page");let e=a.revisions[0].content;if(i&&i!==t||"javascript"!==a.contentmodel){if(i!==o||"css"!==a.contentmodel)return $.Deferred().reject('Refused to load "'+n+'"@'+r+": content type mismatch");mw.loader.addStyleTag(e)}else{let t=document.createElement("script");t.innerHTML=e,document.head.appendChild(t)}}}))),r=e.wgServerName,i=e=>{let t=/^(?:(?:https:)?\/\/(.*))?\/w\/index.php/.exec(e),o=/\btitle=([^=?&]*)/.exec(e);return t&&o&&/\baction=raw\b/.test(e)&&/\bctype=/.test(e)?[o[1],t[1]||r]:null};window.importScript=e=>{n(encodeURIComponent(e),r,t)},window.importStyleSheet=e=>{n(encodeURIComponent(e),r,o)};let a=mw.loader.load;mw.loader.load=function(e,t){let o=i(e);o?n(o[0],o[1],t):a.apply(mw.loader,[...arguments])};let l=mw.loader.getScript;mw.loader.getScript=function(e){let o=i(e);return o?n(o[0],o[1],t):l.apply(mw.loader,[...arguments])}}

// Auto purge
if (mw.config.get('wgAction') === 'purge') { $('form[action*="action=purge"]').submit(); }

// Quick links
$(function () {
	mw.util.addPortletLink('p-personal', '//en.wikipedia.org/w/index.php?title=Special:Log&user=Sam%20Sailor', 'Logs', 'pt-mylogs', 'Your logged actions', '', '#pt-logout');
	mw.util.addPortletLink('p-personal', '//en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Script', 'JWB', 'p-jwb', 'JWB');
	mw.util.addPortletLink('p-navigation', mw.util.getUrl('Special:RandomRedirect'), 'Random redirect', 'n-randomredirect', 'Load a random redirect', 'a');
});

// anonymize [[:en:User:Rublov/anonymize]] replaces your username at the top of the screen with the generic string 'User page'.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Rublov/anonymize.js&action=raw&ctype=text/javascript');

// autolink [[:en:User:Lenore/autolink]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Lenore/autolink.js&action=raw&ctype=text/javascript');

// copy-search-results [[:en:User:Eejit43/scripts/copy-search-results]] adds a link to p-caction on Special:Search which, when clicked, copies the titles of all visible search results (separated by newlines) to the clipboard.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Eejit43/scripts/copy-search-results.js&action=raw&ctype=text/javascript');

// Easy-link [[:en:User:DannyS712/Easy-link]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DannyS712/Easy-link.js&action=raw&ctype=text/javascript');

// EasyLinks [[:en:User:Xover/EasyLinks]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Xover/EasyLinks.js&action=raw&ctype=text/javascript');

// EnhancedSearchPage [[:en:User:JAAqqO/EnhancedSearchPage]] adds useful features to the search page Special:Search.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:JAAqqO/EnhancedSearchPage.js&action=raw&ctype=text/javascript');

// FloatHead [[:en:User:BrandonXLF/FloatHead]] makes the head (top menu) float and remain at the top as you scroll down.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:BrandonXLF/FloatHead.js&action=raw&ctype=text/javascript');

// [[Force LTR]] Forces left-to-right layout and editing on RTL wikis. [[File:pathoschild/forceltr.js]] (workaround for [[phab:T35355]])
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js');

// goToTop [[:en:User:Danski454/goToTop]] adds a button that scrolls you back to the top of the page.
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Danski454/goToTop.js&action=raw&ctype=text/javascript');
// [[:en:User:Qwerfjkl/scripts/skipToTopAndBottom.js]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Qwerfjkl/scripts/skipToTopAndBottom.js&action=raw&ctype=text/javascript');

// Inline diffs and inline patrol [[m:User:Ponor/inline-diff-inline-patrol]]
//mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Ponor/inline-diff-inline-patrol.js&action=raw&ctype=text/javascript');

// [[mw:Instant Diffs]] enhances MediaWiki diff links with interactive functionality
//mw.loader.load('//www.mediawiki.org/w/index.php?title=User:Serhio_Magpie/instantDiffs.js&action=raw&ctype=text/javascript');

// IPLabeller [[:en:User:Kaniivel/IPLabeller]]: set labels and/or background colors to anonymous IP address user accounts.
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Kaniivel/IPLabeller.js&action=raw&ctype=text/javascript');

// journal [[:en:User:Qwerfjkl/scripts/journal]] lists recently visited pages at the bottom of current page.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Qwerfjkl/scripts/journal.js&action=raw&ctype=text/javascript');

// linkinfo [[:en:User:Awesome Aasim/linkinfo]] adds a right-click menu to most internal links to make navigation easier for userlinks and pagelinks.
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Awesome_Aasim/linkinfo.js&action=raw&ctype=text/javascript');

// markblocked [[:en:Special:Gadgets#gadget-markblocked]]. Be sure to deselect "Strike out usernames that have been blocked" in [[:en:Special:Preferences#mw-prefsection-gadgets-gadget-section-appearance]]
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&action=raw&ctype=text/javascript');

// mark-locked [[:en:User:GeneralNotability/mark-locked.js]], companion to markblocked - asynchronously marks locked users
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:GeneralNotability/mark-locked.js&action=raw&ctype=text/javascript');

// MyMoreMenu
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sam_Sailor/MyMoreMenu.js&action=raw&ctype=text/javascript');

// Navigation popups [[:en:Wikipedia:Tools/Navigation popups]]
// Here on meta: deselect "Navigation popups: Article previews and editing functions popup when hovering over links." in [[Special:Preferences#mw-prefsection-gadgets-gadget-section-browsing-gadgets]]
// On en.wp: deselect "Navigation popups: article previews and editing functions pop up when hovering over links" in [[:en:Special:Preferences#mw-prefsection-gadgets-gadget-section-browsing]]
mw.loader.load('//en.wikipedia.org/w/load.php?modules=ext.gadget.Navigation_popups');
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-navpop.css&action=raw&ctype=text/css', 'text/css');
window.popupStructure = 'menus';
window.popupNewWindows = true;
window.popupRevertSummaryPrompt = true;
window.popupFixDabs = true;
window.popupDabsAutoClick = 'wpPreview';
window.popupFixRedirs = true;
window.popupRedirAutoClick = 'wpDiff';
window.popupRedlinkRemoval = true;
window.popupRedlinkAutoClick = 'wpDiff';

// redirectcreator [[:en:User:Awesome Aasim/redirectcreator]] allows for creation of redirects from the search page.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Awesome_Aasim/redirectcreator.js&action=raw&ctype=text/javascript');

// statusCheck (no doc) user online status checker
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Ale_jrb/Scripts/statusCheck.js&action=raw&ctype=text/javascript');

// talk-tab-count [[:en:User:Enterprisey/talk-tab-count]] displays the number of sections on the talk page tab.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Enterprisey/talk-tab-count.js&action=raw&ctype=text/javascript');

// Test snippets
mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Sam_Sailor/test.js&action=raw&ctype=text/javascript');

// Translate [[:en:User:Danski454/translate]] adds a link to a version of the current page, as translated by Google Translate.
if (['enwiki'].indexOf(mw.config.get('wgDBname')) === -1) {mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Danski454/translate.js&action=raw&ctype=text/javascript');}

// TwinkleGlobal [[User:Xiplus/TwinkleGlobal]] is a fork of en:Wikipedia:Twinkle.
if (['enwiki'].indexOf(mw.config.get('wgDBname')) === -1) { mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Xiplus/TwinkleGlobal/load.js&action=raw&ctype=text/javascript'); }

// Watchlyst Greybar Unsin [[:en:User:Aaron Liu/Watchlyst Greybar Unsin]] adds a site-wide subtitle that displays the contents of new watchlist items that haven't been marked as seen.
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Aaron_Liu/Watchlyst_Greybar_Unsin.js&action=raw&ctype=text/javascript');

// WE-Framework [[:en:Wikipedia:WE-Framework]]
//if (mw.config.get('wgDBname') !== 'ruwiki') mediaWiki.loader.load('//ru.wikipedia.org/w/index.php?title=MediaWiki:WEF_AllEditors.js&action=raw&ctype=text/javascript');

// XReport [[User:TenWhile6/XReport]] is a gadget which allows you to report users on the administrators noticeboard of every wiki.
if (['enwiki'].indexOf(mw.config.get('wgDBname')) === -1) { mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:TenWhile6/XReport.js&action=raw&ctype=text/javascript'); }

// SPECIAL PAGES
if (mw.config.get('wgCanonicalNamespace') === 'Special') {
		switch (mw.config.get('wgCanonicalSpecialPageName')) {
			case 'AbuseFilter':
			// FilterBlame [[User:Daniel Quinlan/Scripts/FilterBlame]] makes it easy to find the version of an AbuseFilter where specific text was added or removed. 2025-10: superseded by [[User:Daniel Quinlan/Scripts/Blame]] ([[Special:Diff/1314375701]])
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Daniel_Quinlan/Scripts/FilterBlame.js&action=raw&ctype=text/javascript'); // [[User:Daniel Quinlan/Scripts/FilterBlame.js]]
			break;

			case 'Contributions':
			// AbuseFilterContribs [[User:Ingenuity/AbuseFilterContribs]] shows when a user attempted to make an edit, but were disallowed by an edit filter, in their Special:Contributions page.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Ingenuity/AbuseFilterContribs.js&action=raw&ctype=text/javascript'); // [[User:Ingenuity/AbuseFilterContribs.js]]
	
			// Contribs ranger [[User:Andrybak/Scripts/Contribs ranger]] generates links to a limited set (range) of user contributions (aka contribs), a user's logged actions, or of edits of particular page.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Andrybak/Scripts/Contribs_ranger.js&action=raw&ctype=text/javascript'); // [[User:Andrybak/Scripts/Contribs_ranger.js]]
	
			// ContribsByPage [[User:BrandonXLF/ContribsByPage]] groups edits by a user on Special:Contributions by page to make the page cleaner and easier to read.
			//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:BrandonXLF/ContribsByPage.js&action=raw&ctype=text/javascript'); // [[User:BrandonXLF/ContribsByPage.js]]
	
			// ContribSearch [[User:DannyS712/ContribSearch]] is used to viewing edits by a single user. It will update every 3 seconds and insert newer edits.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DannyS712/ContribSearch.js&action=raw&ctype=text/javascript'); // [[User:DannyS712/ContribSearch.js]]
	
			// Examine edits [[User:DannyS712/Examine edits]] 2025-06-18: disabled, does it work? Conflict with another script?
			//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DannyS712/Examine_edits.js&action=raw&ctype=text/javascript'); // [[User:DannyS712/Examine edits.js]]
	
			// hidetopcontrib [[User:Markhurd/hidetopcontrib]] 'show/hide top'
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Markhurd/hidetopcontrib.js&action=raw&ctype=text/javascript'); // [[User:Markhurd/hidetopcontrib.js]]
			window.userHideAllSubsequent = true;
	
			// Kill-It-With-Fire [[Wikipedia:Kill-It-With-Fire]] allows for mass reversion of edits that are no longer the latest revision.
			//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Alexis_Jazz/Kill-It-With-Fire.js&action=raw&ctype=text/javascript'); // [[User:Alexis Jazz/Kill-It-With-Fire.js]]
	
			// massRollback [[User:Writ Keeper/Scripts/massRollback]] provides the ability to rollback all of a user's displayed edits from their Special:Contributions page, for use with combating widespread disruption.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Writ_Keeper/Scripts/massRollback.js&action=raw&ctype=text/javascript'); // [[User:Writ Keeper/Scripts/massRollback.js]]
	
			// more-block-info [[User:Firefly/more-block-info]] works around some limitations with MediaWiki's default block display on contributions pages.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Firefly/more-block-info.js&action=raw&ctype=text/javascript'); // [[User:Firefly/more-block-info.js]]
	
			// Not latest contributions [[User:Þjarkur/Not latest contributions]] shows contributions where the user is not the last contributor.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Þjarkur/Not_latest_contributions.js&action=raw&ctype=text/javascript'); // [[User:Þjarkur/Not latest contributions.js]]
	
			// Unfiltered [[User:Daniel Quinlan/Scripts/Unfiltered]] provides a complete view of user edit activity by displaying edit filter hits, including removed and unsuccessful edits.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Daniel_Quinlan/Scripts/Unfiltered.js&action=raw&ctype=text/javascript'); // [[User:Daniel Quinlan/Scripts/Unfiltered.js]]
	
			// user-tabs-on-contribs [[User:Andrybak/Scripts/user-tabs-on-contribs]] adds "User page" and "Talk" tabs on user contributions pages.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Andrybak/Scripts/user-tabs-on-contribs.js&action=raw&ctype=text/javascript'); // [[User:Andrybak/Scripts/user-tabs-on-contribs.js]]
	
			// watchUserContribs. 2025-06-25: disabled. Works, but seldom used.
			//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Fred_Gandt/watchUserContribs.js&action=raw&ctype=text/javascript'); // [[User:Fred Gandt/watchUserContribs.js]]
			break;
			
			case 'EmailUser':
			// EasyEmailSign [[User:DreamRimmer/EasyEmailSign]]: Set a signature for Special:EmailUser emails. Saved to the file email-signature.json.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DreamRimmer/EasyEmailSign.js&action=raw&ctype=text/javascript'); // [[User:DreamRimmer/EasyEmailSign.js]]
			break;
			
			case 'Log':
			// copyloglink [[User:Firefly/copyloglink]] adds a 'copy link' on logs.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Firefly/copyloglink.js&action=raw&ctype=text/javascript'); // [[User:Firefly/copyloglink.js]]
			// logSwap [[:en:User:Amorymeltzer/logSwap.js]] creates a button on [[Special:Log]] that swaps the user log and logs on that user.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Amorymeltzer/logSwap.js&action=raw&ctype=text/javascript');
			// Pretty rights log [[User:DannyS712/Pretty rights log]] will reformat user rights log entries into a clearer format of what was added and removed.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DannyS712/Pretty_rights_log.js&action=raw&ctype=text/javascript'); // [[User:DannyS712/Pretty rights log.js]]
			break;
			
			case 'MovePage':
			// Automatically tick the "Move subpages" option when moving pages.
			var moveSubpagesBox=document.getElementsByName("wpMovesubpages")[0];void 0!==moveSubpagesBox&&(moveSubpagesBox.checked=!0);
	
			// RemoveDoubleNamespace, automatically filter double namespaces from move form.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Alexis_Jazz/RemoveDoubleNamespace.js&action=raw&ctype=text/javascript'); // [[User:Alexis Jazz/RemoveDoubleNamespace.js]]
	
			// CombineMovePrefix
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:SilverLocust/CombineMovePrefix.js&action=raw&ctype=text/javascript'); // [[User:SilverLocust/CombineMovePrefix.js]]
			break;
			
			case 'RecentChanges':
			// Color top links
			mw.util.addCSS(".mw-rollback-link { background-color:#FFFF88; }");
	
			// rcpatrol [[User:Awesome Aasim/rcpatrol]] allows for quick review and revert of harmful edits.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Awesome_Aasim/rcpatrol.js&action=raw&ctype=text/javascript'); // [[User:Awesome Aasim/rcpatrol.js]]
			break;
			
			case 'Search':
			// Search sort [[User:DreamRimmer/Search sort]], fork of User:PrimeHunter/Search_sort.js, with integrated sorting options.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DreamRimmer/Search_sort.js&action=raw&ctype=text/javascript'); // [[:en:User:DreamRimmer/Search_sort.js]]
			// search-links [[User:Eejit43/scripts/search-links]] adds edit and history links to search results on Special:Search.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Eejit43/scripts/search-links.js&action=raw&ctype=text/javascript'); // [[:en:User:Eejit43/scripts/search-links.js]]
			// SearchSuite [[User talk:The Transhumanist/SearchSuite.js]] provides a menu of enhancements to search results.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:The_Transhumanist/SearchSuite.js&action=raw&ctype=text/javascript'); // [[:en:User:The Transhumanist/SearchSuite.js]]
			break;
			
			case 'UnusedCategories':
			// unusedCategories [[User:Qwerfjkl/scripts/unusedCategories]] gives options to either tag the categories with Possibly empty category or for deletion under WP:C1.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Qwerfjkl/scripts/unusedCategories.js&action=raw&ctype=text/javascript'); // [[User:Qwerfjkl/scripts/unusedCategories.js]]
			break;
			
			case 'UserRights':
			// Pretty rights log [[User:DannyS712/Pretty rights log]] will reformat user rights log entries into a clearer format of what was added and removed.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DannyS712/Pretty_rights_log.js&action=raw&ctype=text/javascript'); // [[User:DannyS712/Pretty rights log.js]]
			break;
			
			case 'WantedCategories':
			// hideUnwantedCategories [[User:Qwerfjkl/scripts/hideUnwantedCategories]] hides struck through pages on Special:WantedCategories.
			mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Qwerfjkl/scripts/hideUnwantedCategories.js&action=raw&ctype=text/javascript'); // [[User:Qwerfjkl/scripts/hideUnwantedCategories.js]]
			break;
			
			case 'Watchlist':
			// Thanky [[User:Evad37/Thanky]] adds thank links next to diff links on special pages (e.g. watchlist, recent changes, related changes).
			//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Evad37/Thanky.js&action=raw&ctype=text/javascript'); // [[User:Evad37/Thanky.js]]
			break;
			
			case 'WhatLinksHere':
			// [[User:He7d3r/Tools/AddActionLinks.js]] adds "edit", "hist" and "delete" link to [[Special:WhatLinksHere]] and the list of templates used in a page. [[File:User:He7d3r/Tools/AddActionLinks.js]] (workaround for [[phab:T35355]])
			mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:He7d3r/Tools/AddActionLinks.js&action=raw&ctype=text/javascript');
			// Linkscount: MediaWiki integrated backlinks count tool
			mw.loader.load('//www.wikidata.org/w/index.php?title=MediaWiki:Linkscount.js&action=raw&ctype=text/javascript');
			break;
		}
// END SPECIAL PAGES
} else {
// NOT SPECIAL - load scripts that should not load on a special page
	// EXCLUDE ON HISTORY PAGES
	if (mw.config.get('wgAction') !== 'history') {

	// articleinfo-gadget [[:en:User:Amorymeltzer/articleinfo-gadget.js]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Amorymeltzer/articleinfo-gadget.js&action=raw&ctype=text/javascript');

	// autocomplete (little blue box), context aware script that suggests links when user type [[, and template when user type {{. The gadget takes advantage of TemplateData, and can also help to fill parameter names.
	// Proposed for import on en.wp in 2015, see [[:en:Wikipedia:Village pump (technical)/Archive 135#Autocomplete gadget]]
	// Never imported, see [[:en:Wikipedia:Gadget/proposals/Archive 6#Autocomplete gadget]]
	// A loader script exists at [[:en:User:ערן/autocomplete.js]]
	mw.loader.load('//he.wikipedia.org/w/index.php?title=MediaWiki:Gadget-autocomplete.js&action=raw&ctype=text/javascript');

	// autocompleter [[:en:User:Theopolisme/Scripts/autocompleter]], context-sensitive, tab-based autocompletion tool
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Theopolisme/Scripts/autocompleter.js&action=raw&ctype=text/javascript');

	// autoFormatter [[User:TMg/autoFormatter]] semi-automatically fixes more than 200 common errors in the wiki markup.
	mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter.js&action=raw&ctype=text/javascript');
	// autoFormatterSettings [[:en:User:Sam Sailor/Scripts/autoFormatterSettings]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Sam_Sailor/Scripts/autoFormatterSettings.js&action=raw&ctype=text/javascript');

	// BEFORE (no docs): multiple menu items in p-navigation. [[:en:User:DreamRimmer/BEFORE.js]]
	// Instead of [[:en:User:BrandonXLF/FindSources.js]] and/or [[:en:User:Enterprisey/quick-before.js]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:DreamRimmer/BEFORE.js&action=raw&ctype=text/javascript');

	// cleanDiff [[:de:Benutzer:TMg/cleanDiff]] cleans up the diff comparison and attempts to correct known deficiencies in the Wikidiff2 extension.
	// To-do: Compare with
	// [[:en:WP:WIKEDDIFF]] ([[:en:User:Cacycle/wikEdDiff]])
	// Inline diffs and inline patrol [[m:User:Ponor/inline-diff-inline-patrol]]
	// [[mw:Instant Diffs]] enhances MediaWiki diff links with interactive functionality
	//mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:TMg/cleanDiff.js&action=raw&ctype=text/javascript');
	
	// Convenient Discussions [[c:User:Jack who built the house/Convenient Discussions]] is a JavaScript shell over the existing MediaWiki discussion system that enhances user experience with talk pages in multiple ways.
	//mw.loader.load('//commons.wikimedia.org/w/index.php?title=User:Jack_who_built_the_house/convenientDiscussions.js&action=raw&ctype=text/javascript');
	
	// copy-section-link [[:en:User:The_Earwig/copy-section-link.js]] (no docs), a fixed version of [[:en:User:Enterprisey/copy-section-link.js]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:The_Earwig/copy-section-link.js&action=raw&ctype=text/javascript');

	// deletion-finder [[:en:User:Eejit43/scripts/deletion-finder.js]] [[:en:User:Eejit43/scripts/deletion-finder.js]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Eejit43/scripts/deletion-finder.js&action=raw&ctype=text/javascript');
	// Previously using [[:en:User:Writ_Keeper/Scripts/deletionFinder]] [[:en:User:Writ_Keeper/Scripts/deletionFinder.js]]
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Writ_Keeper/Scripts/deletionFinder.js&action=raw&ctype=text/javascript');

	// Factotum [[:en:User:Alexis Jazz/Factotum]]
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Alexis_Jazz/Factotum.js&action=raw&ctype=text/javascript');

	// 2025-09: [[:en:User:GhostInTheMachine/LastEditor]] fork
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Eizen/LastEditor.js&action=raw&ctype=text/javascript');
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:GhostInTheMachine/LastEditor.js&action=raw&ctype=text/javascript');
	window.LastEditorOptions = {
		namespaces: [0, 1, 2, 3, 4, 5, 10, 14, 118]
	};
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Eizen/PageCreator.js&action=raw&ctype=text/javascript');
	window.PageCreatorOptions = {
		namespaces: [0, 1, 2, 3, 4, 5, 10, 14, 118],
    useUTC: true
  };

	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/pageLinkHelper/r.js&action=raw&bcache=1&maxage=604800&ctype=text/javascript', 'text/javascript');

	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sam_Sailor/regex.js&action=raw&ctype=text/javascript');

	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PleaseStand/subsearch.js&action=raw&ctype=text/javascript');

	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Js/urldecoder.js&action=raw&ctype=text/javascript');
// END NOT SPECIAL

// ARTICLES AND DRAFTS
if (mw.config.get('wgNamespaceNumber') === 0 || mw.config.get('wgNamespaceNumber') === 118) {
	
	//
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/lintHint/r.js&action=raw&bcache=1&maxage=86400&ctype=text/javascript');
	
	// reFill [[:en:Wikipedia:reFill]], formerly [[:en:WP:REFLINKS]]
	//mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript');
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Novem Linguae/Scripts/ReFillLink.js&action=raw&ctype=text/javascript');
	
	// Wikidata search
	mw.loader.using(["mediawiki.util"], function () {
    mw.util.addPortletLink("p-tb", "//www.wikidata.org/wiki/Special:Search?search=" + encodeURIComponent(mw.config.get("wgPageName")), "Wikidata search", "t-wikidatasearch", "Search the page name in Wikidata", null, "#t-wikibase");
	});
} // END ARTICLES AND DRAFTS

// ARTICLES AND TALK
if ((mw.config.get('wgNamespaceNumber') === 0) || (mw.config.get('wgNamespaceNumber') === 1)) {
	// 
} // END ARTICLES AND TALK

// ARTICLES
if (mw.config.get('wgNamespaceNumber') === 0) {
	// quickLinker is a script for quickly adding links to article from related articles. It is especially useful for orphan articles (invoked automatically), stub articles (invoked automatically) and new articles which usually have less links compared to long existing articles.
	mw.loader.load('//he.wikipedia.org/w/index.php?title=MediaWiki:Gadget-quickLinker.js&action=raw&ctype=text/javascript');
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Fred_Gandt/sectionLinks.js&action=raw&ctype=text/javascript');
// END ARTICLES
} else {

// ANYWHERE BUT ARTICLES
// PROJECT SPACE
if (mw.config.get('wgNamespaceNumber') === 4) {
	//
// END PROJECT SPACE

// USER SPACE AND USER TALK SPACE
} else if ((mw.config.get('wgNamespaceNumber') === 2) || (mw.config.get('wgNamespaceNumber') === 3)) {
	// CVNSimpleOverlay_wiki [[User:Krinkle/Scripts/CVNSimpleOverlay]] [[File:Krinkle_CVNSimpleOverlay_wiki.js]] (workaround for [[phab:T35355]])
	//mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/CVNSimpleOverlay_wiki.js&action=raw&ctype=text/javascript');
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Amorymeltzer/userinfo.js&action=raw&ctype=text/javascript');
	if ([2, 3].indexOf(mw.config.get('wgNamespaceNumber')) !== -1 && (!mw.config.get('wgArticleId') || mw.config.get('wgAction') === 'view'))
	$.when(mw.loader.using('mediawiki.util'), $.ready).then(function () {mw.util.addPortletLink('p-tb','#','ExtendedUserinfo','t-mworg2','Load extended userinfo','m','#t-print').addEventListener('click', function () {mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Perhelion/userstatus.js&action=raw&ctype=text/javascript');
		});
	});
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sam_Sailor/utnawh.js&action=raw&ctype=text/javascript');
// END USER SPACE AND USER TALK SPACE

// CATEGORIES
} else if (mw.config.get('wgNamespaceNumber') === 14) {
	// Subcategories [[:en:User:DannyS712/Subcategories]] click "Sub categories" to expand each of the sub categories visible. If you want to expand the next layer, just click it again (to close them up) and click it a third time (to open the next layer).
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:DannyS712/Subcategories.js&action=raw&ctype=text/javascript');
// END CATEGORIES

// FILES
} else if (mw.config.get('wgNamespaceNumber') === 6) {
	// 
// END FILES

// TEMPLATES
} else if ((mw.config.get('wgNamespaceNumber') === 10) || (mw.config.get('wgNamespaceNumber') === 11)) {
	// 
// END TEMPLATES
} // END else if loop but remain in non-articles

// WP AND TALK SPACES
if ((mw.config.get('wgNamespaceNumber') === 4) || (mw.config.get('wgNamespaceNumber')%2 === 1)) {
	// voteSymbols [[:en:User:Pythoncoder/Scripts/voteSymbols]] displays symbols next to users' votes, !votes, and closes.
	//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Pythoncoder/voteSymbols.js&action=raw&ctype=text/javascript');
	// VoteVisualizer [[:en:User:CanonNi/Scripts/VoteVisualizer]]
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:CanonNi/Scripts/VoteVisualizer.js&action=raw&ctype=text/javascript'); // [[:en:User:CanonNi/Scripts/VoteVisualizer.js]]
	} // END WP AND TALK SPACES
} // END ANYWHERE BUT ARTICLES
}	// END HISTORY EXCLUSION
} // END ENTIRE NOT SPECIAL LOOP

// MIXED
// CONTRIBS, HISTORY, RECENT CHANGES, WATCHLIST
if (mw.config.get('wgAction') === 'history' || mw.config.get('wgCanonicalSpecialPageName') === 'Contributions' || mw.config.get('wgCanonicalSpecialPageName') === 'Watchlist' || mw.config.get('wgCanonicalSpecialPageName') === 'Recentchanges') {
	// ExpandDiffs [[:en:User:Bradv/Scripts/ExpandDiffs]] allows for diffs to be loaded inline on history, contributions, and recent changes pages.
	mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Bradv/Scripts/ExpandDiffs.js&action=raw&ctype=text/javascript'); // [[:en:User:Bradv/Scripts/ExpandDiffs.js]]
} // END CONTRIBS, HISTORY, RECENT CHANGES, WATCHLIST

// CONTRIBS, HISTORY
if (mw.config.get('wgAction') === 'history' || mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
	// diff-link-lpp shows "copy" links on history and contributions pages that copy an internal link to the diff.
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Sam_Sailor/diff-link-lpp.js&action=raw&ctype=text/javascript');
} // END CONTRIBS, HISTORY