generated at
scrapbox-duplicatorの設定をコードブロックから読み込む案
scrapbox-duplicatorの設定をコードブロックから読み込む案

scrapboxのコードブロックから設定を読み込むというアイデアを考えていますtakker
こんな感じのコードブロックをどこかに書く
書式は例です
もっとシンプルに書けるようにしたほうが使いやすいtakker
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とコードブロックの両方から読む様にすれば良い気がしますblu3mo
なるほど。確かにそうでしたtakker
SIDや定期実行設定は依然Heroku側に書く必要がある
プロジェクト名もHerokuに書く必要があるかとblu3mo
それは必要ないです。コードブロックのURLさえわかれば取得できますtakker
example.js
const res = await fetch("https://scrapbox.io/api/code/blu3mo/scrapbox-duplicatorの設定をコードブロックから読み込む案/settings.json"); const json = await res.json(); console.log(json.from.project); // blu3mo
そもそもどのプロジェクトのコードブロックを参照するかが分からない気が..?blu3mo
(参照するプロジェクトのコードブロックに設定を書く、という認識)
HerokuのConfigにコードブロックのURLを登録することを想定していますtakker
上記の例なら、 https://scrapbox.io/api/code/blu3mo/scrapbox-duplicatorの設定をコードブロックから読み込む案/settings.json を適当な変数に格納しておく
private projectに設定を置く場合は、渡したSIDを使ってアクセスする?yosider
ですtakker
scrapbox以外のprivateな場所に置く場合は、そのためのキーもHerokuに渡しておく必要がありそうyosider
必要ですねtakker
まあそのあたりは需要があれば実装する感じで
JSONの設定ファイルがないと何もできない
SOURCE_PROJECT_NAME DESTINATION_PROJECT_NAME があればdefault設定で動かせる
webpack.config.jsonみたいな設定地獄になる可能性がある?

書く場所を悩みましたが、/blu3moさんのところに書かせていただきましたtakker
github issuesだと↑みたいな提案をサクッと書きにくい
scrapbox-duplicator用のscrapbox projectを作るのは大げさ過ぎる
/villagepump/@blu3moに書くのはなんか違う
あそこは連絡とかする場所、と自分の中では位置づけられているtakker
(全然ここでも良いですが、)/programming-notesでも良い気がしますblu3mo
実装したいこととかそっちに書いていた気がするblu3mo
そうだったのかtakker
ほんとだ。自分も書いてました
じゃあ移動しますね
移動しました

なるほどblu3moblu3moblu3moblu3moblu3mo
ありがとうございます!