generated at
scrapbox-userscript-std
UserScriptを書くにあたって便利そうな函数を集めたrepo

巷で見かけるUserScriptのパターンを函数化しただけ(一部例外あり)takker

内容物
./
utilitesとかが雑においてある
./rest/
まだ全部は対応し切れていない
./browser/
web browser上でないと使えないもの
./browser/dom/
websocketを使わない函数
元々↓とまとめてre exportしていたが、bundleでなぜかこちらでは使用していないscrapbox-parserのコードが混じってしまう現象が起きたので、websocketありとなしとでdirectoryを分けた
./browser/websocket/
websocketを使う函数
開いていないページを自由に書き換えられる
ページの削除やピン留めもできる
websocketってブラウザ上じゃないとダメなんですか?bsahd
自分が知っている限りだとそうですtakker
一回Pythonで外部から接続を試みたことあるけれど、おそらく認証周りでどうしてもうまくいかなかったMijinko_SD
ブラウザからCookieを抜き出すのだとダメなのかなbsahd
ブラウザ用にbuildする方法がよくわからないbsahd
web browserでbuildする場合はscrapbox-bundlerを使ってくださいtakker
「ブラウザ用に」です。buildにはコマンドラインを使っても構いませんbsahd
CLIの場合はesbuildなどでbuildできますが……Web系のmodule resolutionに対応するためにesbuild_deno_loaderなどを噛ませたコードを自作する必要があります。まあまあめんどい
まだbeta版ですが、CLIでesbuild_deno_loaderを使えるようにしたesbuild-deno-cliというのを作ってあります
$ 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を作る予定です
(「ブラウザ用(のコード)」は「web browserにて<script>importで読み込める形式のコード」と解釈しました)
現時点だとこんな感じです。答えになっていないようでしたらまた聞いて下さい


言語
Denoにしか対応していない
Nodeも需要があれば作ろうと思うtakker
たしかdntを使えば変換できるとか
JSRにpublishしたので不要
nodeで動くかテストしてないけど、まあ動くでしょ

ファイル構成とかを自分で調べた範囲でまとめてみたMijinko_SD
でもまだよくわかっていないファイルもある
わかっていないものの大半が内部処理用なので、理解する必要性自体はそんなに無いけれど
今は使っていない
まともに動いてなかった気がするtakker
上記2つは反映しましたMijinko_SD
差分データをwebsocketに渡す形式に変換する
更新前のページデータから更新後のページデータに書き換えるのに必要なwebsocket送信用データを作っている
差分書き込みのコアプログラム
えっ抜けてた?まじですかtakker
ensure.ts isHeightViewable.ts が入っていないですねMijinko_SD
おそらく内部処理用で、わざと抜いているのだと思いますが
わからなかったところが埋まったので助かりました!!!!!Mijinko_SD.icon*3

UserScript