Hatena Space ham topics

  • /*
     * @title Hatena Space ham topics
     * @description hidden spam topics on Hatena Space via http://a-kuma3.hatenablog.com/entry/hatena_space_backup
     * @include http://space.hatena.ne.jp/*
     * @contributor a-kuma3 http://let.hatelabo.jp/a-kuma3/let/hLHUy6LimuEc (Fork of)
     * @license MIT License http://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // UserScript
    // https://gist.github.com/noromanba/0606d92a17c3c17d5902
    
    // e.g.
    // http://space.hatena.ne.jp/~/14290001378108575017
    (() => {
        const spamTitle = /^(?:https?:\/\/\S+|[A-z0-9 =+<>*$'.!"\[\]():\^&#\-'{}_~\/|]+$)/;
    
        // support expand/close topics
        Array.from(document.body.querySelectorAll([
                '.board-list [data-topic-id]'
        // topic list AWFUL markup on space top;
        // <li "> or <li class="hide"> WTF
        ])).concat(Array.from(document.body.querySelectorAll([
                '.space-topic-data'
        ]), count => count.parentNode)).forEach(topic => {
            // reset visibility
            topic.classList.remove('hide');
    
            const title = (topic.querySelector('a[title]') || {}).title;
            if (!title || spamTitle.test(title)) {
                topic.style.display = 'none';
                return;
            }
        });
    })();
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2016/02/03 09:28:32 - 2016-02-03
  2. 2016/01/26 12:16:23 - 2016-01-26
  3. 2016/01/26 12:06:41 - 2016-01-26
  4. 2016/01/26 11:26:33 - 2016-01-26
  5. 2016/01/26 11:18:47 - 2016-01-26