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