scrapbox-userscript-std
巷で見かけるUserScriptのパターンを函数化しただけ(一部例外あり)
内容物
./
utilitesとかが雑においてある
./rest/
まだ全部は対応し切れていない
./browser/
web browser上でないと使えないもの
./browser/dom/
元々↓とまとめてre exportしていたが、bundleでなぜかこちらでは使用していないscrapbox-parserのコードが混じってしまう現象が起きたので、websocketありとなしとでdirectoryを分けた
./browser/websocket/
websocketを使う函数
開いていないページを自由に書き換えられる
ページの削除やピン留めもできる
websocketってブラウザ上じゃないとダメなんですか?
自分が知っている限りだとそうです
一回Pythonで外部から接続を試みたことあるけれど、おそらく認証周りでどうしてもうまくいかなかった
ブラウザからCookieを抜き出すのだとダメなのかな
ブラウザ用にbuildする方法がよくわからない
「ブラウザ用に」です。buildにはコマンドラインを使っても構いません
$ deno run -A jsr:@takker/esbuild-deno-cli@0.1.0-rc.5 https://scrapbox.io/api/code/takker/複数のページを削除するUserScript/mod.ts --bundle --minify --format=esm
2024-09-19現在はこれを使うのが楽です
--reload
未対応なのがきつい。いちいち手動でcacheを消す必要がある
将来的にはもう少しマシなCLIを作る予定です
現時点だとこんな感じです。答えになっていないようでしたらまた聞いて下さい
言語
Denoにしか対応していない
JSRにpublishしたので不要
nodeで動くかテストしてないけど、まあ動くでしょ
ファイル構成とかを自分で調べた範囲でまとめてみた
でもまだよくわかっていないファイルもある
わかっていないものの大半が内部処理用なので、理解する必要性自体はそんなに無いけれど
今は使っていない
まともに動いてなかった気がする
上記2つは反映しました
差分データをwebsocketに渡す形式に変換する
更新前のページデータから更新後のページデータに書き換えるのに必要なwebsocket送信用データを作っている
差分書き込みのコアプログラム
えっ抜けてた?まじですか
ensure.ts
と
isHeightViewable.ts
が入っていないですね
おそらく内部処理用で、わざと抜いているのだと思いますが