User:Splarka/diffsize.js

/* Diff non-context zoom script, version [0.0.1]

Originally from: http://en.wikipedia.org/wiki/User:Splarka/diffsize.js

  • Factors the font size by +/- 20%
  • Removes old style element on each instance
  • Note: some browsers may experience odd wrapping in the overflow:auto diff cells, a ctrl+/- or window resize should fix the problem.
  • /

var diffzoomzoom = 100, diffstyle;

if(queryString('diff')) addOnloadHook(function() {

mw.util.addPortletLink('p-tb','javascript:diffZoom(.8333)','Diff zoom out','t-diffz1','Zoom out (shrink) differences','-');

mw.util.addPortletLink('p-tb','javascript:diffZoom(1.2)','Diff zoom in','t-diffz1','Zoom in (enlarge) differences','+');

})

function diffZoom(factor) {

diffzoomzoom = diffzoomzoom * factor;

if(diffstyle) diffstyle.parentNode.removeChild(diffstyle)

diffstyle = appendCSS('td.diff-addedline, td.diff-deletedline { font-size:' + parseInt(diffzoomzoom) + '% !important; }');

}

function queryString(p) {

var re = RegExp('[&?]' + p + '=([^&]*)');

var matches;

if (matches = re.exec(document.location)) {

try {

return decodeURI(matches[1]);

} catch (e) {

}

}

return null;

}