はてなブックマークのGreasemonkeyスクリプトの自分用メモ

はてブのホットエントリー(http://b.hatena.ne.jp/hotentry/*)で任意の文字列を含むエントリーを非表示。トップページ(http://b.hatena.ne.jp/)はあまり見ないので非対応。文字列指定は正規表現なので注意。記号の「/」とかを入れる時は「\」でエスケープ。URLのドメイン部分やIDを入れておけばOK。はてブの仕様が変わったらevaluateの中を書き換えないといけない。
(追記)
break文を入れ忘れてたので修正。

// ==UserScript==
// @name           hateb_hotentry_hide
// @namespace      http://d.hatena.ne.jp/zakinco/
// @include        http://b.hatena.ne.jp/hotentry/*
// @include        http://b.hatena.ne.jp/hotentry
// @include        http://b.hatena.ne.jp/hotentry?mode=general
// @version        0.0.1
// ==/UserScript==

(function() {
  var hide_exps = new Array;
  hide_exps.push(/hoge1/);
  hide_exps.push(/hoge2/);
  hide_exps.push(/hoge3/);

  var elems = document.evaluate('//li[div[h3[a]]]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

  for(var i = 0; i < elems.snapshotLength; i++){
    var elem = elems.snapshotItem(i);

    for(var j = 0; j < hide_exps.length; j++){
      if(hide_exps[j].test(elem.innerHTML)){
        var li_parent = elem.parentNode;
        li_parent.removeChild(elem);
        break;
      }
    }
  }
})();