User:Sid/HistDiffTemp
< User:Sid
Jump to navigation
Jump to search
// ==UserScript==
// @name HistoryDiff
// @namespace http://rationalwiki.com
// @description Tweak History display to replace byte size with diff size (just like in the Recent Changes)
// @include http://www.conservapedia.com/*action=history*
// @include http://conservapedia.com/*action=history*
// @include http://rationalwiki.com/*action=history*
// ==/UserScript==
(function(){
var tagselect, subselect, currently, diff, previous, format, length;
tagselect = document.getElementById("bodyContent");
subselect = document.evaluate("./form/ul/li/span[@class='history-size']", tagselect, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
length = subselect.snapshotLength;
function parsesize(z)
{
var size;
size=subselect.snapshotItem(z).innerHTML;
format=size;
if (size=="(empty)")
{
size=0;
}
else
{
size=size.slice(1,-7);
size=size.replace(/,/,"");
size=parseInt(size);
}
return size;
}
if (length > 1)
{
previous=parsesize(length-1);
}
for (var i = length-2; i >= 0; i--)
{
currently=parsesize(i);
diff=currently-previous;
previous=currently;
if (diff>0)
{
if (diff>999)
{
diff='<strong class="mw-plusminus-pos">(+' + diff + ')</strong>';
}
else
{
diff='<span class="mw-plusminus-pos">(+' + diff + ')</span>';
}
}
if (diff <0)
{
if (diff<-999)
{
diff='<strong class="mw-plusminus-neg">(' + diff + ')</strong>';
}
else
{
diff='<span class="mw-plusminus-neg">(' + diff + ')</span>';
}
}
if (diff==0)
{
diff='<span class="mw-plusminus-null">(0)</span>';
}
//If you want to show the total file size and the diff size, simply uncomment the next line and comment out the one behind it.
format=format + " " + diff;
//format=diff;
subselect.snapshotItem(i).innerHTML = format;
}
})();