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"
  },