Qiitaのフィードから特定ユーザーの投稿を非表示にするユーザースクリプト - Qiita
ファーストビューがトレンドになって頻繁に目に入るようになった。 トレンドに入ることでいいねが増え掲載期間が伸びるのか、バズりやすい記事はずっとトレンドに入る。 タイムラインやタグフィードと異なり自分ナイズできない&流れないので、延々と好きでない投稿を突きつけられて前作時代よりストレスを感じていることに気付かされた。 対象記事・ユーザーのいいねが増えていることさえもストレスに感じるのは流石に自分の狭量さに辟易とするが、煽りタイトルなのが拍車をかけて辛い。そういったタイトルが伸びやすそうな雰囲気があるのも辛い。 ファーストビューはタイムラインにするか、 フォロータグのトレンドにするか(これは効果薄か) アドオンみたいにトレンドを既読にして再表示しない機能が欲しい。動作検証環境
- Firefox 58
- Greasemonkey 4.2
コード
GistスクリプトリンクQiita_user_filter_for_feed.user.js
Qiita_user_filter_for_feed.user.js
// ==UserScript==
// @name Qiita user filter for feed
// @namespace khsk
// @description フィードから特定ユーザーの投稿を非表示にする
// @include https://qiita.com/
// @include https://qiita.com/trend
// @include https://qiita.com/timeline
// @include https://qiita.com/tag-feed
// @version 1
// @grant none
// ==/UserScript==
console.time('userfilter');
const NG_USERS = [
];
const filtering = () => {
// トレンド, ユーザーランキング, タイムライン アイコンリンク, タグフィード アイコンリンク(こっちはユーザー名リンクでもよかった), おすすめユーザー(多分出ないけど)
const targets = document.querySelectorAll('a.tr-Item_author, div.ra-User_screenname>a, a.tl-ItemContent_userImage, a.tf-ItemContent_userImage, a.tl-RecommendedUser_screenname')
Array.prototype.forEach.call(targets,function(target){
user = target.href.match(/https?:\/\/qiita.com\/([^/]+)/)[1];
if (NG_USERS.indexOf(user) != -1) {
switch (target.className) {
case 'tr-Item_author':
case 'tl-RecommendedUser_screenname':
target.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
break;
case '':
target.parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
break;
case 'tl-ItemContent_userImage':
case 'tf-ItemContent_userImage':
target.parentNode.parentNode.parentNode.style.display = 'none';
break;
default:
console.log(target);
break
}
}
});
}
// 変更を監視する。追加分だけには対応しておらず、毎回全チェック。
var mo = new MutationObserver(function(data1, data2) {
filtering();
});
// 監視対象が大きいが妥協
const root = document.querySelector('div')
const options = {childList: true, subtree:true};
mo.observe(root, options);
filtering();
console.timeEnd('userfilter');
// todo コメント非表示 需要が生まれたら
Hiroyuki Tomine (とみね)さんのツイート: "ユーザー単位のスパム報告ですかねー、確かに。記事は用意があるんですが🙏 ミュート機能は現在実装中です~… "
実装中だって。