User:Amalthea/userhighlighter.js

// User:Amalthea/userhighlighter.js // Based on User:Ais523/adminrights.js, inner logic taken straight from there. // Consider using User:Theopolisme/Scripts/adminhighlighter.js instead, a better version of this script // // This script highlights bluelinks 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 cyan background. // // If you want a colour other than cyan, add something like // .amalthea_userhighlighter_sysop {background-color: red !important} // to your common.css file.

$.getJSON( mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:AmoryBot/crathighlighter.js/sysop.json', function(data){ //UPDATED BY OSHWAH ON 8-10-2022 TO POINT TO User:AmoryBot/crathighlighter.js/sysop.json INSTEAD OF User:Amalthea (bot)/userhighlighter.js/sysop.js, WHICH IS NO LONGER BEING ACTIVELY UPDATED TO REFLECT ADMIN USER RIGHT CHANGES. $(function{ function highlightadmins_inner(n,h) //node, relevant hyperlink fragment { if (n.nodeType!=1||n.tagName.toLowerCase!="a") return 0; // not an anchor if (n.href.indexOf(mw.config.get('wgScript')+"?title="+h) == -1 && n.href.indexOf(mw.config.get('wgArticlePath').split("$1")[0]+h) == -1) return 0; // to the wrong target try { var u=decodeURIComponent(n.href).split(h)[1]; } catch (e) { //URIError: URI malformed return; } if(data[u.split("_").join(" ")]==1) { n.style.backgroundColor="#00FFFF"; if(n.className==null||n.className=="") n.className="amalthea_userhighlighter_sysop"; else n.className+=" amalthea_userhighlighter_sysop"; } return 1; }
 * (function($){

function highlightadmins(n) //node { while(n!=null) { if(highlightadmins_inner(n,"User:")) n=n.nextSibling; else if(highlightadmins_inner(n,"User_talk:")) n=n.nextSibling; else if(highlightadmins_inner(n,"Special:Contributions:")) n=n.nextSibling; else { if(n.firstChild!=null) highlightadmins(n.firstChild); n=n.nextSibling; } } }

highlightadmins(document.getElementById('bodyContent')); }); }); }(jQuery));