generated at
特定のページを非表示にする支援UserScript
UserScriptからCSSを変更して特定のページを非表示にするUserCSS機能を使いやすくするこころみ
suto3何をやっているかは見ればわかるよね
実装がダサいので、だれか直して

フィルタ
script.js
//条件1 const lists1 = [ 'test', 'テスト', '(WIP)', '作業中', '-button', 'Scrapbox', 'settings' // テストのため非表示にする ]; //条件2 // バカフィルタ // アルファベットと半角数字を含むページを非表示にする const lists2 = [ 'a','b','c','d','e','f','g','h','i','j','k','l','m', 'n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', '1','2','3','4','5','6','7','8','9','0' ]; //条件3 // バカフィルタ // ひらがな・カタカナを含むページを非表示にする // 多くの日本語タイトルのページが非表示になる // 仕組み上、漢字のみのタイトルのページは影響を受けない const lists3 = [ 'あ','い','う','え','お', 'か','き','く','け','こ', 'さ','し','す','せ','そ', 'た','ち','つ','て','と', 'な','に','ぬ','ね','の', 'は','ひ','ふ','へ','ほ', 'ま','み','む','め','も', 'や','ゆ','よ', 'ら','り','る','れ','ろ', 'わ','ゐ','う','ゑ','を', 'ん', 'ア','イ','ウ','エ','オ', 'カ','キ','ク','ケ','コ', 'サ','シ','ス','セ','ソ', 'タ','チ','ツ','テ','ト', 'ナ','ニ','ヌ','ネ','ノ', 'ハ','ヒ','フ','ヘ','ホ', 'マ','ミ','ム','メ','モ', 'ヤ','ユ','ヨ', 'ラ','リ','ル','レ','ロ', 'ワ','ヰ','ウ','ヱ','ヲ', 'ン', 'ゔ', 'が','ぎ','ぐ','げ','ご', 'ざ','じ','ず','ぜ','ぞ', 'だ','ぢ','づ','で','ど', 'ば','び','ぶ','べ','ぼ', 'ヴ', 'ガ','ギ','グ','ゲ','ゴ', 'ザ','ジ','ズ','ゼ','ゾ', 'ダ','ヂ','ヅ','デ','ド', 'バ','ビ','ブ','ベ','ボ', 'ヷ','ヸ','ヹ','ヺ', 'ぱ','ぴ','ぷ','ぺ','ぽ', 'パ','ピ','プ','ペ','ポ' ];

CSSを作って変更する関数
script.js
const mode_id = '__filter__' const change_style = keyword_lists => { // let list = ''; // keyword_lists.forEach((hide) => { //     list = list + '[data-page-title*="' + hide + '"],\n'; // }); const list = keyword_lists.map((hide) => `[data-page-title*='${hide}']`).join(',\n'); //console.log(list); const style = document.getElementById(mode_id); style?.remove?.(); document.head.insertAdjacentHTML('beforeend',` <style id="${mode_id}"> .page-list-item:is( ${list} ) { display: none !important; } </style> `); }

表示部
script.js
const menu_title = '特定のページを非表示にする' ; scrapbox.PageMenu.addMenu({ title: menu_title, image: 'https://i.gyazo.com/5a9b6f8b965613bcc39d3b77afa59dc7.png' }); scrapbox.PageMenu(menu_title).addItem({ title: "1", onClick: () => {change_style(lists1);} }); scrapbox.PageMenu(menu_title).addItem({ title: "2", onClick: () => {change_style(lists2);} }); scrapbox.PageMenu(menu_title).addItem({ title: "3", onClick: () => {change_style(lists3);} }); scrapbox.PageMenu(menu_title).addItem({ title: '取消', onClick: () => { document.getElementById(mode_id)?.remove?.(); } });

とりあえずforEachしてる所をmapに変えてみたkuuote
動作確認してないので動かなかったらスマソ
微修正takker

UserScript