Qiitaのフィードから特定ユーザーの投稿を非表示にするユーザースクリプト

  • 28
    Like
  • 5
    Comment

概要

Qiitaのフィードのコメント数ごとに背景色を追加するユーザースクリプト - Qiitaを改変して、記事リンクのURLでユーザーを特定し非表示にするスクリプトです。

動作検証環境

  • Cyberfox 49
  • greasemonkey

コード

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     http://qiita.com/
// @include     https://qiita.com/
// @include     http://qiita.com/items
// @include     https://qiita.com/items
// @include     http://qiita.com/stock
// @include     https://qiita.com/stock
// @include     http://qiita.com/mine
// @include     https://qiita.com/mine
// @version     1
// @grant       none
// ==/UserScript==


console.time('userfilter');

var NG_USERS = [
  '',
];

// 変更を監視する。追加分だけには対応しておらず、毎回全チェック。
var mo = new MutationObserver(function(data1, data2) {
  var posts = document.querySelectorAll('div.item-box-title > h1 > a');
  Array.prototype.forEach.call(posts,function(post){
    var user = post.href.match(/https?:\/\/qiita.com\/([^/]+)/)[1];
    if (NG_USERS.indexOf(user) != -1) {
      // えぇ…
      post.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
    }
  });
});

var items = document.getElementsByClassName('col-sm-9')[0];
var options = {childList: true, subtree:true};
mo.observe(items, options);

console.timeEnd('userfilter');

ひとりごと

(電球じゃない方の)炎上は好きですけど、それは対岸の火事だから野次馬しにいくわけで、火の粉がかかる範囲での争いはあんまり好みません。
Qiitaで見かけるということは、=プログラミング関係なので、少なからず火の粉が飛ぶわけで。
すると弱メンタルなためげんなりします。
普段は生息範囲1が違うためフィードに流れてこないのですが、たまにかぶるとフィードに現れ、ユーザー名もアイコンも出ないので踏んでしまう。
開いて本文の既視感からまさかっとなっても時すでに遅し。

正論を言ってくれても世の誤りを指摘してくれても全然いいのですが2、攻撃的すぎるとげんなりして、「その主張が本当に正しいならフォロワーが(もっと優しい口調で)たくさん出るだろう」と見切っちゃうことがあります。それでも受けた疲労感はなくなりませんが。

毛の壁?事件?とか存じないのですが、昔はもっと殺伐としていたのかな。
せめて視界内では笑いながら怒る人ぐらいの雰囲気で頼みたいものです。

「問題がある投稿を報告する」の攻撃的な内容ってどの程度なのかな。
コメントも含めていいのかな。


  1. 投稿のタグとフォローしているタグ 

  2. 結局、自分ではどの主張が正しいかは判断できないレベルなのですが