Scrapboxの非公開・公開プロジェクトを分けて運用する際に面倒な「ページの転送」を自動で行います。
以下の処理の定期実行によって、公開したいページのみ転送されたミラープロジェクトが作られます。
- 転送元プロジェクトの内容をエクスポート
- エクスポートされたjsonファイルから
[public.icon]
が含まれているページのみを抽出 - 抽出されたページを転送先プロジェクトへインポート
以下の2ステップで実行可能です。
- 下のボタン('Deploy to Heroku')を押し、必要な情報を入力。
- Heroku
Schedulerで
deno run --allow-net=scrapbox.io --allow-read=./ --allow-env index.ts
を定期実行するように設定
SID
ScrapboxのSID(詳しくは こちら )SOURCE_PROJECT_NAME
転送元のプロジェクト名DESTINATION_PROJECT_NAME
転送先のプロジェクト名
- まともにテストしていないので、自己責任で使用してください。使用前にプロジェクトのバックアップ取得をお勧めします。
- SIDは漏れた場合にリセットする手段が無さそうなので、気をつけて扱ってください。サブアカウントのSID等を使用する事をお勧めします。(詳しくは こちら )
- export APIは使用回数に制限があるので、定期実行は一日2~3回程度が良いと思います。
- Scrapbox Duplicatorは定期実行のタイミングまで待たないと転送されません。好きなタイミングで公開したい場合は、このUserScriptを一緒に使う事をお勧めします。
- Scrapboxを開発しているNota, Inc.の皆さんに感謝します
Set .env file
SID=12345
SOURCE_PROJECT_NAME=foo
DESTIONATION_PROJECT_NAME=bar
Invite a subaccount and get the SID when accessing the private version of the project.
Give the subaccount admin privileges on both projects.