🙈

Chrome拡張 Script Auto Runner を使って Zenn ユーザー名を指定して、記事一覧から非表示にする方法

2022/10/03に公開

以前書いた記事の、Zennバージョンです。
https://qiita.com/standard-software/items/d2ee965b77b07014e7c9

Code

下記コードをScript Auto Runner に記載すれば、Zennの記事一覧から指定のユーザーの記事が消えます。

下記は私のユーザーアカウントが指定されています。

zenn.js
// console.log('ScriptAutoRunner zenn.js 2021/05/08(Sat)', location.href);
(() => {
  const targetUrls = [
    'zenn.dev/',
  ];
  if (targetUrls.some(url => location.href.includes(url))) {
    console.log('zenn site !');

    const userNameArray = [
      '/standard_soft',
    ];

    const deleteZennUserArticle = () => {
      console.log('deleteZennUserArticle');

      const articleList = document.querySelectorAll("a");
      for (const element of Array.from(articleList)) {
        if (!element) { continue; }
        const linkName = element.getAttribute('href');
        let deleteFlag = false;
        for (const userName of userNameArray) {
          if (
            (userName === linkName)
            && (!location.href.includes(userName))
          ) {
            console.log('ScriptAutoRunner', 'Hit', linkName);
            deleteFlag = true;
            break;
          }
        }
        if (deleteFlag) {
          // element.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
          element.parentNode.parentNode.parentNode.parentNode.parentNode.remove();
          continue;
        }
      }

    };

    for (let i = 1; i < 1000; i += 1) {
      setTimeout(deleteZennUserArticle, i * i)
    }
    // 1000 * 1000 = 1000000 = 1000秒 = 16分40秒

  }
})();

Discussion