Sleazy Fork is available in English.

エロアニメ折りたたみフィルター

特定のワードが含まれる記事を折りたたむ

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         エロアニメ折りたたみフィルター
// @namespace    http://tampermonkey.net/
// @version      0.6
// @license       adsamalu4kia
// @description  特定のワードが含まれる記事を折りたたむ
// @match        http://blog-mougenda.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 折りたたむ対象のワードリスト
    const targetWords = ["エロアニメ", "OVA", "THE ANIMATION"];

    // 記事の要素を取得
    const articles = document.querySelectorAll('article.article');

    articles.forEach(article => {
        // 記事タイトルと本文のテキストを取得
        const titleText = article.querySelector('.article-title')?.textContent || "";
        const bodyText = article.querySelector('.article-body-inner')?.textContent || "";

        // タイトルまたは本文にターゲットワードが含まれているかを確認
        const containsTargetWord = targetWords.some(word => titleText.includes(word) || bodyText.includes(word));

        if (containsTargetWord) {
            // 折りたたみ処理(display: noneで完全に非表示)
            article.style.display = "none";

            // ボタンを作成して「表示」オプションを追加
            const toggleButton = document.createElement('button');
            toggleButton.textContent = "表示";
            toggleButton.style.cursor = "pointer";
            toggleButton.onclick = () => {
                // 記事の表示・非表示を切り替え
                if (article.style.display === "none") {
                    article.style.display = "block";
                    toggleButton.textContent = "折りたたむ";
                } else {
                    article.style.display = "none";
                    toggleButton.textContent = "表示";
                }
            };

            // ボタンを記事の前に追加
            article.parentNode.insertBefore(toggleButton, article);
        }
    });
})();