Jump to content

User:Splarka/diffsize.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* 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;
}