親指がボロボロ

日常で思ったことを書いていく雑記ブログ

はてなブックマークから見たくないホットエントリーを消滅させる

日頃からはてなブックマークを利用しているのだが、視界に入るだけでイラッとするようなホットエントリーが増えていく一方なので、Chrome拡張を使って消滅させることにした。

最初に考えたのはCSS

Stylus を使ってカスタムCSSを適用することで条件にマッチしたものを非表示にするという作戦だ。

.entrylist-contents-title a[title*="サイゼ"] {
  display: none;
}

こうすると条件エントリー名にサイゼと含まれているものは非表示にはなるのだが、隙間が残ってしまうため精神的にあまりよろしくない。 ググってみてもCSSだけでは無理そうなのでJSの力も借りることにした。使用した拡張昨機能は User JavaScript and CSS

拡張機能に追加するとドキュメントのアイコンのようなものが出てくるので、はてなブックマークを開いた状態で+Add newを押す。

f:id:womizu:20220211213545p:plain

左側のテキストボックスに↓にあるソースコードをコピペし、ctrl+Sか⌘+Sを押して保存する。 JSは普段仕事で触ることが全然ないのでイケてない書き方をしている気がするけど気にしない。

このサンプルコードだとサイゼとVtuberという単語が含まれているエントリーは非表示になるので、ここを書き換えれば自分好みにすることができる。ちなみに自分自身は20個以上の単語を非表示にしている。

// 非表示ワード
const hiddenList = [
  "サイゼ",
  "Vtuber",
];

const elements = document.getElementsByClassName("entrylist-contents-main");
for (let i = 0, len = elements.length; i < len; i++) {
  hiddenList.forEach((hidden) => {
    if (elements[i].textContent.indexOf(hidden) > -1) {
      elements[i].parentNode.parentNode.style.display = "none";
    }
  });
}

現状だとページ読み込み時に一瞬だけ非表示にしたいエントリーが出てきてしまうので、そこをいい感じにしたい。

まあ、はてなブックマークを見なくても別に死なないので見るのをやめるというのが一番かもしれない。はてなブックマークを見るつまり脳を小さな刺激に与え続ける状態にさせるということなので、ネット依存症が悪化するだけだ。