ヨシオリを警告するGreaseMonkeyスクリプト

最初からネタとわかっていれば、みんなネタとして安心して楽しめる。例えば、ヨシオリというキーワードが入っていれば、それはネタ決定なわけです。

http://d.hatena.ne.jp/higayasuo/20080709/1215570797

そうなんですか?

でもこういうのって忘れちゃいますよね。忘れて本気で怒ったりするとKYとか非難されちゃうんですよ。怖いですね。そこで本文中にヨシオリというキーワードがあればネタとして警告するGreaseMonkeyスクリプトを書いてみました。

Yoshiori もしくは ヨシオリ というキーワードを目立たせて注意を促します。

// ==UserScript==
// @name           YoshioriDetect
// @namespace      http://nullpon.moe/
// @description    neta.
// @include        http://*
// ==/UserScript==
var keyword = ["Yoshiori","ヨシオリ"];
var body = document.contentElement || document.body;
var rg = new RegExp("(" + keyword.join("|") + ")", 'gi');
if (rg.test(body.innerHTML)) {
  document.title = "【ネタ】" + document.title + "【注意】";
  function replaceNeta(el) {
    for (var t = el; t ; t = t.nextSibling ) {
      if (t.hasChildNodes()) {
        replaceNeta(t.firstChild);
        continue;
      }
      if (t.nodeType == 3) { // 3 == text node
        var items = t.nodeValue.split(rg);
        if (items.length == 1) {
          continue;
        }

        for (var i = 0; i < items.length; i++) {
          var elem;
          if (rg.test(items[i])) {
            elem = document.createElement("span");
            elem.style.fontSize = "200%";
            elem.appendChild(document.createTextNode("【ネタ】" + items[i] + "【ネタ】"));
          } else {
            elem = document.createTextNode(items[i]);
          }
          t.parentNode.insertBefore(elem, t);
        }
        t.parentNode.removeChild(t);
      }
    }
  }
  replaceNeta(body);
}

動作テスト。


これでネタをネタと見抜けない自分も安心してネットが見れます*1

追記

"【ネタ】" + items[i] + "【ネタ】"

じゃなくて

"【ネタ】" + items[i] + "【決定】"

が正解ですね〜

*1:ヨシオリさんスミマセン…