https://github.com/hashitaku/pages
- Quartz 4
- Git
- GitHub
- Cloudflare Pages
- Cloufflare Cache
- Cloudflare R2
Quartz 4
Obsidianのような見た目なSSG
ObsidianとQuartzの関係はわかってない
できることは公式ドキュメント参照
テーマにhttps://github.com/saberzero1/quartz-themesを使用
Git
Quartzのコードと記事自体を管理
GitHubにあるQuartzをテンプレートとして使用することも可能であるが現在はgit subtree
で管理している
.
├── .git/
├── .gitignore
├── LICENSE
├── README.md
├── content/
└── quartz/
# Quartzをリモートリポジトリとして追加
git remote add quartz https://github.com/jackyzha0/quartz.git
# サブツリーを作成
git subtree add --prefix quartz/ --squash quartz v4
# contentをシンボリックリンクにする
cd quartz && git rm -r content && ln -s ../content content && cd ..
# Quartzをアップデート
git subtree pull --prefix quartz/ --squash quartz v4
GitHub
コードホスティング先
GitHub Actionsを使用してCloudflare Pagesにデプロイしている
https://github.com/hashitaku/pages/blob/main/.github/workflows/deploy.yaml
GitHub AppのCloudflare Workers and Pagesを使用してデプロイすることも可能だがQuartzにsaberzero1/quartz-themes
を適用したいためGithub Actionsでビルドしている
Cloudflare Pages
言わずと知れたホスティングサービス
もしかしたらCloudflare Workersに乗り換えるかも
Cloudflare Cache
Pagesをキャッシュさせる為に使用している
デフォルトではHTMLはキャッシュされないのでCache Rulesを設定する必要がある
Cloudflare R2
AWS S3互換のクラウドストレージ
エグレス料金が無料
クラスA/B操作として状態の変更と読み取りにそれぞれ料金が設定されている
2025年5月現在は以下の通り(以下の画像もR2に置かれてる)
月々のクラスA/B操作がどれぐらいになるのか想像がつかないのでCloudflareの通知設定で50万/500万回を超過したらメールが来るようにしている