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; }