他人のScrapboxプロジェクトのCSSをすべて無効化するjavascript
理由
文字装飾がうるさすぎてまともに集中して全く読めない時がある 基本的にはScrapboxは自分用に書き残すためのものであるためそれをやること自体は別に全然良い
ぶっちゃけ強調表示すらうるさいからそれも切って良いかもしれない
見出しもいらないので
基本的にはF12開いて
Sourceのscrapbox.io/api/code/PROJECTNAME/settings/style.css
Elementの<link rel="stylesheet" href="/api/code/PROJECTNAME/settings/style.css">
のどちらかを全消しすればいい?
初期設定ですべてのScrapboxのプロジェクトで無効にするようにしている
特定のプロジェクトだけ外したいという人は設定タブでinclude/excludeを定義する
元のmatchを外したり、ユーザーによる追加で無効にしたいページを追加していく
https://gyazo.com/c8778257f972c6aafffa6187cdafa49c
TODOとしてはページをリロードしないと適用されない場面が多いのでそれをなんとかしたい
/y-noteで遷移したときとかnav bar左上のやつ押して遷移したときとか 方法
現状removeCSSFile()をwindow.onloadで発火してるのを変えたいのでURLを見るとか遷移したときに発火したい
そもそも@matchで実行するページかどうかが判定されていない?
code:Disable Scrapbox UserCSS.js
// ==UserScript==
// @name Disable Scrapbox UserCSS
// @version 1.0
// @description disable bullshit usercss
// @author ChatGPT, yozba
// @license CC0
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 現在のページのURLを解析し、cssFileToRemoveを生成
var currentURL = window.location.href;
var match = currentURL.match(/scrapbox\.io\/(^/+)/); var cssFileToRemove = match ? '/api/code/' + match1 + '/settings/style.css' : ''; var removeCSSFile = function() {
linkElements.forEach(function(linkElement) {
var href = linkElement.getAttribute('href');
if (href && href.includes(cssFileToRemove)) {
linkElement.remove();
}
});
};
window.addEventListener('load', function() {
removeCSSFile();
});
})();