Settingsが重すぎる
Settingsが重すぎるのをなんとかしたい
2022/02/05 21:44 大体どうにかなった

その代わり @import
が大量に増えた
状況
Settingsが1000行超ある
機能ごとにコードブロックを分割し、注釈をつけている
その場でやりとりが始まっているケースもある
問題点
問題点(解決済み)
開くのに時間がかかる
どんなUserCSSが使われているのか調べるのが大変
スクロールして全部見ないといけない
特定のUserCSSが定義されている場所を探すのが大変
ページ内検索で解決できることはできるが
望ましい状態
Settingsのrendering時間がほかのページと同等である
使用しているUserCSSが簡単にわかる
現状よりずっと少ないステップで把握できればおk
CSSの読み込み速度が現状の速度を下回っていない
解決策候補
それぞれのスタイリングに適当な名前を付けてページにする
付随する議論もまとめて切り出す
pros
要件をほとんど満たせる
cons
読み込み速度が落ちる可能性がある
pros
上候補のconsを解消できる
Stream汚染の心配はない
非表示にすればいいだけ
cons
CSSの更新に手間がかかる
bundle&minifyしてSettingsに貼り付け直さないと変更が反映されない
全ての解決策で共通する操作
ページを切り出す
とりあえず無効化されているCSSだけでも全部切り出すか

本当に必要な物だけを精査するといいと思う

無効化されているものを切り出すだけでも結構変わるはず
pros
根本的に片付く
cons
誰がやるのか問題
合意取れるの?
無効化されているCSSだけ切り出すなら合意なしでも大丈夫
使用されているCSSを削除するのはまずい
むやみにCSSを消すと他のCSSが正しく動作しなくなる可能性がある
上と被るけど、Settingsの中身はCSSとそれに関連する最低限のリンクだけにするのがいいと思う

現状のSettingsの中身はソースごと別ページに切り出す
切り出したページからソースをコピーする形で style.css
を構成する
pros
会話等の余計な行は全て別ページに丸投げできる
作業量的には比較的今すぐにでも行いやすい
技術的な面倒も無い
合意を取る必要もおそらく無い
cons
行数を減らす手段としては不十分
それでも300行ぐらいは減りそう(希望的観測)
切り出したページのソースと style.css
は手動で同期する必要がある
ソースは切り出さずにSettingsへの行リンクで済ますこともできるか

その手もありか

同期を考える必要がなくなる
ただし、 Settings/style.css
自体が大きいと難しい
500行以上あるからなー。微妙かも
style.css
自体が最適化される訳では無い
切り出したページのタイトルをいちいち考えるのがだるい
どのスタイルに対しても何らかのコメントがついているから、それをタイトルにすればいい
もうそろそろページ分割すべきでは?
@import
を使うなどして
@import
は個人的にあまり使いたくない

download時間が長くなる
なるほど

やってもよさそうならやります

bundle & minifyしたいかな

どこかに @import
をまとめて、それを更新した都度貼り付け直す
コードが短くなるので、download速度が落ちない
Streamの汚染は気にしなくていい
Settingsを非表示にすればいいだけ
二度手間になるのが厄介
それ

面倒な反面、荒らし対策になる利点もありそう
書く人側がついていけるような仕組みを選択すべき?
ソースコピペは誰でもできる
bundleもそんなに難しくない

リンクを踏むだけで作れる
今調べたら1000行超えてるっぽい?
Settings内での scrapbox.Page.lines.length
の値は 1097
だった