そんな GreaseMonkey スクリプト (やっつけ)。
真面目に作るなら、設定編集もできるように独立したアドオンにしたいところ。
// ==UserScript==
// @name NG culator for Togetter
// @namespace http://togetter.com/
// @description NG! NG!
// @include http://togetter.com/*
// ==/UserScript==
var NGImageIDList = new Array(
'1234567890', // アイコンの上で右クリックして
'1234567901', // 「画像だけを表示」したとき
'1237209021', // URL の profile_images/xxxxxx 部分に
'1237209457' // 表示される数字の列
);
var NGTopicTextList = new Array(
/エロ/, // 見たくないまとめのタイトルに
/早川[^書]/ // 含まれる文字列を正規表現で
);
proc_ng();
function proc_ng() {
var doc = document.getElementById('document');
if (doc == null)
return;
var arr;
arr = doc.getElementsByClassName('topics_link_box');
if (arr.length == 0) {
arr = doc.getElementsByClassName('info_list_box');
if (arr.length == 0) {
arr = doc.getElementsByClassName('comment_box');
if (arr.length == 0)
return;
}
}
arr = arr[0].getElementsByTagName('ul');
if (arr.length == 0)
return;
arr = arr[0].getElementsByTagName('li');
var rex = new RegExp('^http://a[0-9].twimg.com/profile_images/([0-9]+)');
for (var i = 0; i < arr.length; ++i) {
var imgs = arr[i].getElementsByTagName('img');
if (imgs.length > 0 && rex.test(imgs[0].src) && NGImageIDList.indexOf(RegExp.$1) >= 0) {
arr[i].innerHTML = '<p style="font-size: smaller">' + '<img src="' + imgs[0].src + '" width="24px">' + 'NG culator ' + RegExp.$1 + '</p>';
}
else {
var txts = arr[i].getElementsByTagName('a');
if (txts.length > 0) {
var x = false;
for (var j = 0; j < NGTopicTextList.length; ++j)
if (x = NGTopicTextList[j].test(txts[0].text))
break;
if (x)
arr[i].innerHTML = '<p style="font-size: smaller">' + '<img src="' + imgs[0].src + '" width="24px">' + 'NG topic ' + NGTopicTextList[j] + '</p>';
}
}
}
}
