ORLY.db no xxx releases

Remove xxx-tagged records in the release log

Versión del día 3/5/2015. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name        ORLY.db no xxx releases
// @description Remove xxx-tagged records in the release log
// @include     http://www.orlydb.com/*
// @version     1.0
// @namespace   wOxxOm.scripts
// @author      wOxxOm
// @run-at      document-start
// ==/UserScript==

setMutationHandler(document, 'a[href*="xxx-"]', function(observer, nodes) {
  for (var i=0, len=nodes.length, n; i<len && (n=nodes[i].parentNode); i++)
    if (n.id != 'logo')
      n.parentNode.remove();
});

function setMutationHandler(baseNode, selector, cb) {
  var ob = new MutationObserver(function(mutations){
    for (var i=0, ml=mutations.length, m; (i<ml) && (m=mutations[i]); i++)
      for (var j=0, nodes=m.addedNodes, nl=nodes.length, n; (j<nl) && (n=nodes[j]); j++)
        if (n.nodeType == 1) 
          if ((n = n.matches(selector) ? [n] : n.querySelectorAll(selector)) && n.length)
            if (!cb(ob, n))
              return;
  });
  ob.observe(baseNode, {subtree:true, childList:true}); 
}