scrapbox-duplicatorの設定をコードブロックから読み込む案
こんな感じのコードブロックをどこかに書く
書式は例です
もっとシンプルに書けるようにしたほうが使いやすいtakker.icon
code:settings.json
{
"from": {
"project": "blu3mo",
"includes": [
".*"
],
"excludes": [
],
"excludePages": [
"Settings",
"秘密のページ",
],
},
"to": {
"project": "blu3mo-public",
"preservePages": [
"Settings",
]
}
}
HerokuにはコードブロックのURLとSIDだけ登録しておく
この方法の
利点
userが普段使っているscrapboxで自由に設定できる
どころかscrapbox以外に書いてもいい
設定が書かれたJSONのURLさえ指定できればいいので、例えばgithub gistに書いたって動く
それなりに高度な設定も組み込める
限界
後方互換性がない
HerokuのConfigとコードブロックの両方から読む様にすれば良い気がしますblu3mo.icon
なるほど。確かにそうでしたtakker.icon
SIDや定期実行設定は依然Heroku側に書く必要がある
プロジェクト名もHerokuに書く必要があるかとblu3mo.icon
それは必要ないです。コードブロックのURLさえわかれば取得できますtakker.icon
code:example.js
const json = await res.json();
console.log(json.from.project); // blu3mo
そもそもどのプロジェクトのコードブロックを参照するかが分からない気が..?blu3mo.icon
(参照するプロジェクトのコードブロックに設定を書く、という認識)
HerokuのConfigにコードブロックのURLを登録することを想定していますtakker.icon
上記の例なら、https://scrapbox.io/api/code/blu3mo/scrapbox-duplicatorの設定をコードブロックから読み込む案/settings.jsonを適当な変数に格納しておく
private projectに設定を置く場合は、渡したSIDを使ってアクセスする?yosider.icon
ですtakker.icon
scrapbox以外のprivateな場所に置く場合は、そのためのキーもHerokuに渡しておく必要がありそうyosider.icon
必要ですねtakker.icon
まあそのあたりは需要があれば実装する感じで
JSONの設定ファイルがないと何もできない
SOURCE_PROJECT_NAMEとDESTINATION_PROJECT_NAME があればdefault設定で動かせる
書く場所を悩みましたが、/blu3moさんのところに書かせていただきましたtakker.icon github issuesだと↑みたいな提案をサクッと書きにくい
scrapbox-duplicator用のscrapbox projectを作るのは大げさ過ぎる
あそこは連絡とかする場所、と自分の中では位置づけられているtakker.icon
実装したいこととかそっちに書いていた気がするblu3mo.icon
そうだったのかtakker.icon
ほんとだ。自分も書いてました
じゃあ移動しますね
移動しました
なるほどblu3mo.icon*5
ありがとうございます!