scrapbox-duplicator
https://github.com/blu3mo/Scrapbox-Duplicator
https://dashboard.heroku.com/new?template=https%3A%2F%2Fgithub.com%2Ftkgshn%2Fscrapbox-duplicater%2Ftree%2Fmaster https://www.herokucdn.com/deploy/button.svg
👆のやつ(Deno)をherokuとかで定期実行してあげれば動く
ページタイトルに[public.icon]が含まれている物のみ転送する仕組みになってる
詳細説明: https://github.com/blu3mo/scrapbox-Duplicator
Scrapboxを一部以外全てミラーする運用のために作った
正しく動く保証は無いので使用は自己責任で
というか事故を起こされても怖いので使用はお勧めしません
使う前にバックアップとか取っておいてください
これはn時間に一回しか動かないので、ページ転送する拡張scriptを一緒に使うとすぐ転送したい時にも転送できるので良い
参考にしたやつ
/ras/非公式なscrapboxのAPIを叩く
https://castaneai.hatenablog.com/entry/2020/04/30/002737
https://github.com/puppeteer/puppeteer
/tkgshn/Herokuでワンクリックdeployを試す
GASでScrapboxのexport APIを呼ぶ
puppeteerでScrapboxにimport
の二つを組み合わせた上で、jsonを処理してあげればできる
問題点
ページの名前を変えたときに、それが反映されず新しいページとして読み込まれる
scrapbox-syncはそれができるらしい
これが割と大きい気がしてきたtkgshn.icon
雑な対処として、定期的に全リセットをかけるとかはできそう
ただ、過去にリンクを貼られたページがリンク切れを起こすと言う問題はある
(これはscrapbox-syncでも一緒だと思う)
まあこれは仕方ないとするか
tkgshn.iconとかの話によるとHerokuがうまく動いていないと聞いた&issueにも移行の話があったので対応しましたinoue2002.icon
https://github.com/blu3mo/Scrapbox-Duplicator/pull/20
感謝!blu3mo.icon
20231113 メモ
おそらくScrapbox側の仕様変更の結果、illegalなタイトルが含まれているときにimportが失敗するようになった
手動import時の処理を観察して、何がillegalなのか検証した
「.iconで終わるタイトル」「https://で始まるタイトル」「[]が含まれるタイトル」あたりを修正したら治った。どれが原因だったのかは分からん。
今のScrapboxだとそれらのページを新しく作れないので、不具合の再現は不可能
/tkgshn-private/inoue2002がpull request出してくれた Scrapbox-Duplicator を GitHub Action で使う#6552dd9179e113000007ec58
長いファイルだと error: Uncaught (in promise) TypeError: error sending request for url (https://scrapbox.io/api/page-data/import/blu3mo-public.json): connection closed before message completed が発生するけど、importは問題なく行われる
後で気が向いたらうまく対処するけど、とりあえず動いているのでOK
#Deno #Heroku