User:Pythoncoder/Scripts/userHighlighter.js
< User:Pythoncoder | Scripts
(Redirected from User:Pythoncoder/userHighlighter.js)//<nowiki>/** * User highlighter 3.0 * --------------------- * A jQuery/mediawiki-heavy rewrite of [[User:Amalthea/userhighlighter.js]] * * This script highlights links to admins' userpages or talkpages in bodyContent * (that is, everything but the tabs, personal links at the top of the screen and sidebar) * by giving them a gold background. It also colors links to userpages of users with lower * and higher-ranked permissions. * * The direct source for this script is a combination of Bellezzasolo's (adds * intermediate-level groups) and Amorymeltzer's (adds advanced-level groups) * versions of the script. You may be interested in * [[User:Chlod/Scripts/UserHighlighter.js]], which adds a tooltip showing * a user's groups. However, I continue to use this version because Navigation * Popups already covers this functionality. This script has been forked many * times; please see my documentation page for a full chart of these forks. * * TODO: Rollback * * @author Ais523 * @author Amalthea * @author Theopolisme * @author Bellezzasolo * @author Amorymeltzer * @author Pythoncoder */(function($, mw){mw.hook('wikipage.content').add(function(){var ecdata, pcdata, mvdata, tpdata, addata;$.when($.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/arbcom.json', function(data){acdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/bureaucrat.json', function(data){crdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/oversight.json', function(data){osdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/checkuser.json', function(data){cudata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:Bellezzasolo Bot/userhighlighter.js/excon.js', function(data){ecdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:Bellezzasolo Bot/userhighlighter.js/pcusr.js', function(data){pcdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:Bellezzasolo Bot/userhighlighter.js/pgmvr.js', function(data){mvdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:Bellezzasolo Bot/userhighlighter.js/temop.js', function(data){tpdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/sysop.json', function(data){addata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:Bellezzasolo Bot/userhighlighter.js/ptusr.js', function(data){ptdata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/interface-admin.json', function(data){iadata = data;}),$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/steward.json', function(data){swdata = data;})).then(function() {ADMINHIGHLIGHT_EXTLINKS = window.ADMINHIGHLIGHT_EXTLINKS || false;ADMINHIGHLIGHT_NAMESPACES = [-1,2,3];mw.loader.using(['mediawiki.util','mediawiki.Uri', 'mediawiki.Title'], function() {mw.util.addCSS("[class~=userhighlighter_excon] {background-color: #99f}");mw.util.addCSS("[class~=userhighlighter_pcusr] {background-color: #ddd}");mw.util.addCSS("[class~=userhighlighter_ptusr] {background-color: #9c9}");mw.util.addCSS("[class~=userhighlighter_pgmvr] {background-color: #bf9}");mw.util.addCSS("[class~=userhighlighter_temop] {background-color: #f9f}");mw.util.addCSS("[class~=userhighlighter_sysop] {background-color: #9ff}");mw.util.addCSS("[class~=userhighlighter_checkuser][class~=userhighlighter_sysop] {background-color: #9cf}");mw.util.addCSS("[class~=userhighlighter_oversight][class~=userhighlighter_sysop] {background-color: #999}");mw.util.addCSS("[class~=userhighlighter_arbcom][class~=userhighlighter_sysop] {background-color: #f99}");mw.util.addCSS("[class~=userhighlighter_interface-admin][class~=userhighlighter_sysop] {background-color: #ff9}");mw.util.addCSS("[class~=userhighlighter_bureaucrat][class~=userhighlighter_sysop] {background-color: #fb9}");mw.util.addCSS("[class~=userhighlighter_steward] {background-color: #9cc}");mw.util.addCSS("[class~=userhighlighter_jimbo][class~=userhighlighter_sysop] {background-color: #fd9}");$('#article a, #bodyContent a, #mw_contentholder a').each(function(index,linkraw){try {var link = $(linkraw);var url = link.attr('href');if (!url || url.charAt(0) === '#') return; // Skip <a> elements that aren't actually links; skip anchorsif (url.lastIndexOf("http://", 0) !== 0 && url.lastIndexOf("https://", 0) !== 0 && url.lastIndexOf("/", 0) !== 0) return; //require http(s) links, avoid "javascript:..." etc. which mw.Uri does not supportvar uri = new mw.Uri(url);if (!ADMINHIGHLIGHT_EXTLINKS && !$.isEmptyObject(uri.query)) return; // Skip links with query strings if highlighting external links is disabledif (uri.host == 'en.wikipedia.org') {var mwtitle = new mw.Title(mw.util.getParamValue('title',url) || decodeURIComponent(uri.path.slice(6))); // Try to get the title parameter of URL; if not available, remove '/wiki/' and use thatif ($.inArray(mwtitle.getNamespaceId(), ADMINHIGHLIGHT_NAMESPACES)>=0) {var user = mwtitle.getMain().replace(/_/g," ");if (mwtitle.getNamespaceId() === -1) user = user.replace('Contributions/',''); // For special page "Contributions/<username>"if (mwtitle.getNamespaceId() === -1) user = user.replace('Contribs/',''); // The Contribs abbreviation tooif (swdata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_steward');}if(crdata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_bureaucrat');}if(iadata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_interface-admin');}if(acdata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_arbcom');}if(osdata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_oversight');}if(cudata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_checkuser');}if (addata[user] == 1) {link.addClass(link.attr('class') + ' userhighlighter_sysop');}if(tpdata[user] == 1) {link.addClass(link.attr('class') + " userhighlighter_temop"); // Override the above color by using `a.userhighlighter_temop.userhighlighter_temop {background-color: COLOR !important}`}if(mvdata[user] == 1) {link.addClass(link.attr('class') + " userhighlighter_pgmvr"); // Override the above color by using `a.userhighlighter_pgmvr.userhighlighter_pgmvr {background-color: COLOR !important}`}if(ptdata[user] == 1) {link.addClass(link.attr('class') + " userhighlighter_ptusr"); // Override the above color by using `a.userhighlighter_ptusr.userhighlighter_ptusr {background-color: COLOR !important}`}if(pcdata[user] == 1) {link.addClass(link.attr('class') + " userhighlighter_pcusr"); // Override the above color by using `a.userhighlighter_pcusr.userhighlighter_pcusr {background-color: COLOR !important}`}if(ecdata[user] == 1) {link.addClass(link.attr('class') + " userhighlighter_excon"); // Override the above color by using `a.userhighlighter_excon.userhighlighter_excon {background-color: COLOR !important}`}if(user == 'Jimbo Wales') {link.addClass(link.attr('class') + " userhighlighter_jimbo"); // Override the above color by using `a.userhighlighter_jimbo.userhighlighter_jimbo {background-color: COLOR !important}`}}}} catch (e) {// Sometimes we will run into unparsable links, so just log these and move onwindow.console && console.error('Admin highlighter recoverable error',e.message);}});});});});}(jQuery, mediaWiki));//</nowiki>
🔥 Top keywords: Main PageSpecial:SearchPage 3Wikipedia:Featured picturesHouse of the DragonUEFA Euro 2024Bryson DeChambeauJuneteenthInside Out 2Eid al-AdhaCleopatraDeaths in 2024Merrily We Roll Along (musical)Jonathan GroffJude Bellingham.xxx77th Tony AwardsBridgertonGary PlauchéKylian MbappéDaniel RadcliffeUEFA European Championship2024 ICC Men's T20 World CupUnit 731The Boys (TV series)Rory McIlroyN'Golo KantéUEFA Euro 2020YouTubeRomelu LukakuOpinion polling for the 2024 United Kingdom general electionThe Boys season 4Romania national football teamNicola CoughlanStereophonic (play)Gene WilderErin DarkeAntoine GriezmannProject 2025