Mute AI news

Mute all new related to AI on git.news

// ==UserScript==
// @name        Mute AI news
// @namespace   Violentmonkey Scripts
// @match       https://git.news/*
// @grant       none
// @version     1.0
// @author      QuentinWidlocher
// @description Mute all new related to AI on git.news
// @license      MIT
// ==/UserScript==

const aiWords = [
  "ai",
  "llm",
  "claude",
  "gpt",
  "mcp",
  "agent",
  "neural"
]

const aiWordsRegex = new RegExp(`(\\s|\\w*-)(${aiWords.join('|')})`, 'i')

const observer = new MutationObserver((mutationList, observer) => {
  for (const mutation of mutationList) {
    if (mutation.type === "childList") {
      const [news] = mutation.addedNodes;
      const item = news?.querySelector(".newsfeed-item")

      if (item && aiWordsRegex.test(item.innerText)) {
        item.style.opacity = 0.3;
      }
    }
  }
});

observer.observe(document.querySelector(".newsfeed"), { attributes: false, childList: true, subtree: true });