Skip to content

Scrapboxの非公開・公開プロジェクトを分けて運用する際に面倒な「ページの転送」を自動で行うツール。「Deploy to Heroku」ボタンもあるので1 clickで試せます。

Notifications You must be signed in to change notification settings

natsuozawa/Scrapbox-Duplicator

 
 

Repository files navigation

scrapbox-duplicator

Scrapboxの非公開・公開プロジェクトを分けて運用する際に面倒な「ページの転送」を自動で行います。

仕組み

以下の処理の定期実行によって、公開したいページのみ転送されたミラープロジェクトが作られます。

  • 転送元プロジェクトの内容をエクスポート
  • エクスポートされたjsonファイルから[public.icon]が含まれているページのみを抽出
  • 抽出されたページを転送先プロジェクトへインポート

スタートガイド

以下の2ステップで実行可能です。

  1. 下のボタン('Deploy to Heroku')を押し、必要な情報を入力。
  2. Heroku Schedulerでdeno run --allow-net=scrapbox.io --allow-read=./ --allow-env index.tsを定期実行するように設定

Deploy

必要なもの

  1. SID ScrapboxのSID(詳しくは こちら
  2. SOURCE_PROJECT_NAME 転送元のプロジェクト名
  3. DESTINATION_PROJECT_NAME 転送先のプロジェクト名

注意事項

  • まともにテストしていないので、自己責任で使用してください。使用前にプロジェクトのバックアップ取得をお勧めします。
  • SIDは漏れた場合にリセットする手段が無さそうなので、気をつけて扱ってください。サブアカウントのSID等を使用する事をお勧めします。(詳しくは こちら
  • export APIは使用回数に制限があるので、定期実行は一日2~3回程度が良いと思います。

その他

  • Scrapbox Duplicatorは定期実行のタイミングまで待たないと転送されません。好きなタイミングで公開したい場合は、このUserScriptを一緒に使う事をお勧めします。

謝辞

  • Scrapboxを開発しているNota, Inc.の皆さんに感謝します

Docker

Set .env file

SID=12345
SOURCE_PROJECT_NAME=foo
DESTIONATION_PROJECT_NAME=bar

Subaccounts

Invite a subaccount and get the SID when accessing the private version of the project.

Give the subaccount admin privileges on both projects.

About

Scrapboxの非公開・公開プロジェクトを分けて運用する際に面倒な「ページの転送」を自動で行うツール。「Deploy to Heroku」ボタンもあるので1 clickで試せます。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.3%
  • Dockerfile 7.4%
  • Procfile 3.3%