obsidianで書いたものをcloudflareで公開したい。
quartzは中にmdを入れるとサイトを生成してくれる、つまりobsidianのフォルダの中身をそのままquartz/contentに入れればいい
quartzの導入
git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create
quartzの起動
npx quartz build --serve
quartzとobsidianの同期
fswatch -o ~/Library/"Mobile Documents/iCloud~md~obsidian/Documents/obsidian/public" | while read num; do rsync -av --delete ~/Library/"Mobile Documents/iCloud~md~obsidian/Documents/obsidian/public/" ~/quartz/content/; done
package.jsonの定義
npm run の挙動は package.jsonで定義される
pubコマンドだけで、obsidian→quartz→cloudflare が完結するように設定できる
"scripts": {
...
"build": "quartz build",
"serve": "quartz build --serve",
"pub": "rsync -av --delete ~/Library/\"Mobile Documents/iCloud~md~obsidian/Documents/obsidian/public/\" ~/quartz/content/ && npx quartz build && npx wrangler pages deploy public --project-name=mysite --commit-dirty=true"
},