✅scrapbox-headless-scriptをscrapbox-userscript-stdに統合
./browser/websocketに置く
段取り
それが終わったら統合する
逆でもいい気がするがtakker.icon
2022-02-10
19:01:16 merged
18:59:59 終了
使いやすいように、subdirectoryにもmod.tsを置いた
18:38:33 統合作業開始
18:36:15 テスト終了
18:37:55 merged
patch()
新しいページを作るだけ
code:js
import { patch } from "../scrapbox-headless-script/mod.js";
//新しいページを作るだけ
await patch(scrapbox.Project.name, "test-new-page", (lines) => lines.map(line => line.text));
直そう
17:43:41 成功!
タイトルのすぐ下に追記する
code:js
import { patch } from "../scrapbox-headless-script/mod.js";
await patch(scrapbox.Project.name, "test-new-page", (lines) => lines.length < 2 ? [
"新しい行その1",
] : [
lines1.text.replace(/(\d+)/, (_, n) => ${parseInt(n) + 1}), ...lines.slice(1).map(line => line.text),
]);
18:28:25 問題なさそう
https://gyazo.com/04876da91ed4a1513ec2f39f18521b5d
patch()とdelete()
新しいページを作って消す
code:js
import { patch, deletePage } from "../scrapbox-headless-script/mod.js";
//新しいページを作って消す
const page = "test-new-page";
await patch(scrapbox.Project.name, page, (lines) => lines.map(line => line.text));
await deletePage(scrapbox.Project.name, page);
17:48:02 成功
patch()で何も更新しないと、ページの読み込み中に wss://scrapbox.io/socket.io/?EIO=4&transport=websocket への接続が切断されましたというエラーがコンソールに流れる
ネットワーク欄には何も表示されない
Socket.on()やSocket.emit()を呼び出すときは、勝手にconnectを待機するようだ
18:19:48 直った
pin()
ページが存在しないときはピンしない
code:js
import { pin } from "../scrapbox-headless-script/mod.js";
await pin(scrapbox.Project.name, "test-new-page");
18:31:14 あれ?pinされてしまった……
18:33:29 コードミスってた
ページが存在しないときはページを作ってからピンする
code:js
import { pin } from "../scrapbox-headless-script/mod.js";
await pin(scrapbox.Project.name, "test-new-page", { create: true });
unpin()
code:js
import { unpin } from "../scrapbox-headless-script/mod.js";
await unpin(scrapbox.Project.name, "test-new-page");
18:35:57 pin()/unpin()のテスト終了
17:30:04 一通りテストしたら統合作業に入る