User:Markhurd/hidetopcontrib.js
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
//[[User:Markhurd/hidetopcontrib.js]]
// Based on [[en:User:Ais523/hidetopcontrib.js]]
// By a suggestion by [[en:User:Discospinster]]
// 090325 MEH Fixed where it is not hiding all (top)s, starting with redirects
// and continuing after any regex mismatch.
// 090615 MEH Cater for new <span class="mw-uctop">
// Add userHideAllSubsequent user setting.
// Fix issue reported by [[en:User talk:Markhurd/hidetopcontrib.js#Bug|Lenore]].
// 100407 MEH Use simplified regex that works on IE8.
// 100413 MEH Cater for new pages.
// 100428 MEH Cater better for new pages.
// 100519 User:Ale_jrb Cater for Single-Revision Deletion, newly available to Admins.
// This script hides lines according to who has the top contribution for a page.
// If userHideAllSubsequent=true, all subsequent contributions are hidden too, more like watchlists.
//<pre><nowiki>
if (typeof userHideAllSubsequent=='undefined')
userHideAllSubsequent=false;
function hidetopcontrib()
{
var i,li,a;
li=document.getElementById("bodyContent");
li=li.getElementsByTagName("li");
i=-1;
a=new Array();
while(++i<li.length)
{
var s,t,links,b;
links=li[i].getElementsByTagName("a");
b = 2;
if(li[i].innerHTML.match(/<abbr +[^>]*class *= *"newpage"/)==undefined) b++;
if(li[i].innerHTML.match(/class *= *"mw-revdelundel-link"/)!=undefined) b++;
if (typeof links=='undefined' || links.length<(b+1))
continue;
t=links[b].innerHTML;
if(li[i].getElementsByTagName("strong").length>0||li[i].innerHTML.match(/mw\-uctop/)!=undefined)
s="none";
else
s="";
if(a[t]!=undefined)
s=userHideAllSubsequent?"none":a[t];
else
a[t]=s;
if(s!="")
// li[i].innerHTML=li[i].innerHTML + ":'" + s + "'";
li[i].style.display=(li[i].style.display=="none"?"list-item":"none");
}
}
addOnloadHook(function () {
if(wgCanonicalSpecialPageName == 'Contributions')
addPortletLink('p-cactions', 'javascript:hidetopcontrib()', 'show/hide top', 'ca-hidetop',
"Show/hide pages for which you're the top contributor", '');
});
//</nowiki></pre>
//[[Category:Wikipedia scripts]]