obsidianで書いたものをcloudflareで公開したい。
quartzを使うことでmarkdownをサイト化してくれる。obsidianのmd -> quartz でhtml化 -> cloudflareでサイト構築をする

quartzの導入

git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create

quartzの起動

npx quartz build --serve

package.jsonの定義

npm run の挙動は package.jsonで定義される

npm run pub

だけで、obsidian→quartz→cloudflare が完結するように設定できる

  "scripts": {
...
    "build": "quartz build",
    "serve": "quartz build --serve",
    "pub": "/opt/homebrew/bin/rsync -av --iconv=utf-8-mac,utf-8 --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"
  },

注意点としてはmac NFD問題を解決するためにhomebrewのrsyncを使う必要がある。mac defaultのrsyncだとiconvオプションがない

cloudflare認証

たまに人間が認証する必要がある:

npx wrangler login

永続化するにはAPIトークンを発行する必要がある、package.jsonも長くなるので、とりあえず手動でやる

latexの表示

KaTeXは爆速だけど様々な不都合点がある、MathJaxに変更したほうがきれい

      renderEngine: katex → mathjax