
はてなキーワード:電通大とは
はてなブックマークの増田一覧の、さらに「すべて」(1user)をチェックしている希有な人向けのユーザースクリプトを公開します。
https://b.hatena.ne.jp/site/anond.hatelabo.jp/?sort=eid
// ==UserScript==// @nameHatenaBookmarkAnond Filter// @namespacehttps://b.hatena.ne.jp/site/anond.hatelabo.jp/// @descriptionはてなブックマークの『はてな匿名ダイアリー』の記事のうち、指定したNGワードが含まれる投稿を非表示にします。// @matchhttps://b.hatena.ne.jp/site/anond.hatelabo.jp/*// @grant none// @version2.0.2026.02.14.0016// ==/UserScript==(function(){constSCRIPTID = 'HatenaBookmarkAnondFilter';console.time(SCRIPTID);const CLASSNAME = 'filtered';/*フィルタ該当要素*/const CHECKED = 'checked';/*二重チェック回避フラグ*/const ONCE = 1,AP = 2, INTERVAL = 3;/*適用タイミング*/constNGWORDS = {/* 合計100ポイントで非表示判定(ただし1つの記事内で同じワードが複数使われても1度しか加算しない) */ '100': [/*即NG確定ワード*/ 'dorawii', 'あおやまちゃん', 'ボスマン', '電気通信大学たいてい', 'なんぴょん', 'れめくん', 'リュックサック野郎', 'boushi_inst', 'hakaikami', 'Rekyu', 'iloveootaku_2', 'osaka-sirokichi',/*電気通信大学たいてい鉄道研究会れめくん(頻出)*/ /*A-G*/'a9w8ru6fqyxqfv9', 'admirail_togo', 'akibakko6348', 'alf1974al', 'amatukiseiru', 'anapgoeson', 'aoi_mizuho', 'asapgoeson', 'asupgoeson', 'b6jbpsji91ieigt', 'bmi22yo', 'boushi_instrail', 'boushi_ob', 'buscholarx', 'bw0531', 'circlecavok', 'disney1007cla', 'dora22sibuya', 'donkotrain', 'ecotosk', 'electlone', 'factomodachi', 'fft_dareka', 'gmhtcyznf_abc', 'goesonanap', 'gyudon_honmono', /*H-N*/'h13_yokohama', 'h2twi', 'H2TWR', 'hamaishogo1111', 'haru_mofumoffu', 'hermitv8', 'hirabiscus', 'hinolovelove', 'hnmk0127_03', 'inaken17_', 'inte235dy', 'ixtabes', 'jamcombatge', 'kawachiasukanew', 'kaoru_ai1991', 'keio9730F', 'kiha2228', 'koreanlabsfc', 'koyounoyooko', 'kqlex1500', 'kurakamasan', 'kurotamaxxx', 'kt_ruma_1372', 'lightningreen77', 'mamadoll_kun', 'matya_uec', 'minamihinawot', 'minori0151', 'monkichi_22', 'mugen_08i', 'mukoroku651', 'nakano6409', 'nanpyong', 'new_oer', 'nimouec', 'NoName_thUFO', 'norannnde', /*O-U*/'oreizmmiporin', 'orenotanoshimi', 'osaka_sirokichi', 'papepoco', 'pasotokon', 'pm95uq', 'reme_kun', 'ruin_2002', 's03_amurtk2731', 'sacchan03110319', 'seisu_bot', 'senanana_cos', 'shinano_115', 'shineleaf1372', 'shop_bullet', 'shurimpy', 'soroisoroi', 'sui_pm95uq', 'sweidan821858', 'taiyaki_level2', 'takao_straight5', 'taking0000', 'tarotaromusic1', 'tc201_501', 'tocarbarn', 'toshikimiyazaki', 'train_magician', 'tx9y2cpwdz27255', 'u2fap5u4zw57811', 'uec15take', 'uecdaisuki', 'UECert', 'uecrail', /*V-Z_0-9*/'vampire_mio', 'vbdmnwefknmxsdm', 'vp20th', 'wafue', 'wakasato_', 'walkingniwatori', 'wataameexpress', 'ya4975349616894', 'ymbk_arisa', 'yms_uec16', 'yuuya_1104_uec', '__________ob', '_chocorail_', '_doitforthewin_', '_toeshin', '_unigmo', '100mph_no_yuuki', '169_D51_protect', '205musashino', '2969364x', '2rtkvn34il2783', '36kyo', '86lilxw1', 'テクウヨ', '自己放尿', ' ーーーーーーーー', 'https://anond.hatelabo.jp/20260107144223',/*AI問答貼り付け増田*/ '†噛み締めて行こうな†', '困難女性(コンジョ)', '困難女性(コンジョ)', 'コンジョ自警団', ], '90': [/*ほぼNG*/ 'megalodon.jp', '鉄道研究会', '鉄研', '通勤特快', '不正乗車', 'こども料金', '性慾', '穢い', 'エッタ', 'オソソ', 'キセル', 'uec', ], '10': [/*NG*/ '電気通信大学', '電通大', '駿河台大学', '大学院', '学生課', '教務課', '朝鮮語', '北朝鮮', '統合失調症', ], };const sites = { 'prefix': [ ['selector', '(modifier)', '(css)', '(REPEAT)'], ], 'https://b.hatena.ne.jp/site/anond.hatelabo.jp/': [ ['section.entrylist-unit li.js-keyboard-selectable-item', li => {li.querySelector('li.entrylist-contents-category > a').textContent = li.dataset.matches}, `.${CLASSNAME}{display: none;}`,AP], ], };const rules = sites[Object.keys(sites).find(prefix => location.href.startsWith(prefix))]; if(rules === undefined) returnconsole.log(SCRIPTID, 'Not foundany sites.');constscores =Object.keys(NGWORDS).map(Number).reverse();/*数値インデックス順に取り出されたkeysを逆順にして100から並べ直す*/const filter = function(selector, modifier){/*各要素に対してNGワード判定して、該当したら追加でmodifierも適用する*/ document.querySelectorAll(selector).forEach(e => { if(e.dataset[CHECKED]) return; e.dataset[CHECKED] = 'true';consttext = e.textContent.toLowerCase(); lettotal = 0,matches = []; for(constscore ofscores){ for(constword ofNGWORDS[String(score)]){ if(text.includes(word.toLowerCase())){total +=score;matches.push(word); if(total >=100){ e.classList.add(CLASSNAME); e.dataset.matches =matches.join(', '); if(modifier) modifier(e); return; } } } } }); }; /* ONCE(一括適用) */ rules.forEach(rule => {const [selector, modifier,css] = rule;console.log(SCRIPTID, 'ONCE:', selector); filter(selector, modifier); if(css){const style = document.createElement('style'); style.dataset.script =SCRIPTID; style.type = 'text/css'; style.textContent =css; document.head.appendChild(style); } }); /*AP(AutoPagerize) */ rules.filter(rule => rule[3] ===AP).forEach(rule => {const [selector, modifier] = rule; document.addEventListener('GM_AutoPagerizeNextPageLoaded', e => {console.log(SCRIPTID, 'AP:', selector); filter(selector, modifier); }); }); /* INTERVAL */ rules.filter(rule => rule[3] === INTERVAL).forEach(rule => {const [selector, modifier] = rule; setInterval(function(){console.log(SCRIPTID, 'INTERVAL:', selector); filter(selector, modifier); },1000); });console.timeEnd(SCRIPTID);})();
/*HatenaBookmarkAnond Filter */.filtered{ display: block !important;/*上書き*/ opacity: .25 !important;}.filtered:hover{ opacity: .75 !important;}.filtered li.entrylist-contents-category{background:red !important; font-weight: bold;}
検索用:はてなブックマークはてブはてな匿名ダイアリー増田スパムキーワードNGワードフィルターミュート非表示 削除 隠すブロックユーザースクリプトユーザースタイルhatenabookmarkanondspam keywordsngwords filter mutehide hidden display none blockuserscriptJavaScriptjscss style