☰

f only

Hide posts containing (m) tag in its title

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴、Greasemonkey 油猴子 或 Violentmonkey 暴力猴,才能安装此脚本。

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴 或 Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴 或 Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         f only
// @namespace    reddit-f-only
// @version      1.0
// @description  Hide posts containing (m) tag in its title
// @match        https://www.reddit.com/r/gonewild/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    function filterPosts() {

        const posts = document.querySelectorAll('shreddit-post');

        const regexM = /(\(|\[)(?:\d+)?m(?:\d+?)?(\)|\])/i;

        posts.forEach(post => {

            const titleElement = post.querySelector('a[slot="title"]');

            if (!titleElement) return;

            const title = titleElement.innerText.toLowerCase();

            const ismatch = regexM.test(title);

            if (ismatch) {
                post.style.display = "none";
            }

        });
    }

    filterPosts();

    const observer = new MutationObserver(() => {
        filterPosts();
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

})();