Obsidian -> Github -> Cloudflare Pages with Hugo
目次
サイトリニューアル
- Gatsbyでのサイト管理が面倒になった
- とくにパッケージ依存関係の解決とかが億劫
- どうせなので前から気になってたCloudflare Pagesにホスト移行
- SSGはHugoを選択
- Zolaは新しいCloudflare Pagesで不具合が出てるらしくてやめた
- せっかくなのでObsidianのみでサイト更新が完結するように全部自動化
以下は手順メモ。
構築手順
ローカル(Obsidian & Hugo)
- ObsidianのVaultを新規作成する
- Vaultのフォルダで
git init
をしてgit config
する - Obsidian Gitプラグインを導入して好きに設定する
Create Backup
のホットキーを設定するのがおすすめPush on backup
を有効にして自動pushさせる
- Vaultフォルダの中で
hugo new site hoge
する- Vault階層の下にhoge階層が作られる
- コマンド最後のディレクトリ名
hoge
は自由に変更可 - 後でCloudflare Pagesのルートディレクトリにこの
hoge
を指定する
- Hugoのtheme設定を済ませる
- Vault階層の
.obsidian
やhoge階層のpublic
はgitignoreする
リモート(Github & Cloudflare Pages)
- Githubに空リポジトリを作って、ローカルで
git remote add
しておく - Obsidian Vaultを
git push -u origin main
する - Cloudflare PagesでHugoを選んでから以下のように設定する
- プロダクションブランチ:
main
- ビルドコマンド:
hugo
- ビルド出力ディレクトリ:
/public
- 環境変数:
HUGO_ENV = production
- ルートディレクトリ:
/hoge
←ここ重要
- プロダクションブランチ:
- デプロイしてエラーが出ないか確認する
- 必要なら独自ドメインも設定する
サイト更新手順
2ステップのみであとは全部自動で処理される。
- Obsidianでhoge階層の
content
以下にマークダウンファイルを作るTemplater
プラグインでファイル作成時にfront matterを自動挿入すると楽Linter
プラグインも併用すると更新日時lastmod
を自動更新できて吉
- 編集し終えたら
Create Backup
する(ホットキーを設定しておくと良い)- 勝手にGithubにファイルがpushされる
- 勝手にCloudflareで
hugo
が走る - 勝手にCloudflare Pagesにデプロイされる
移行して良かった点
- Obsidianでファイル保存するだけですべてが完結する
- ローカルで
hugo
コマンドを一切走らせないで済むのが良い
- ローカルで
- 何もかもが爆速
- ファイル保存→Pagesデプロイまで30秒かからないくらい
- 独自ドメインをCloudflareで管理しているので一元管理できて良い
- 更新が楽になったからサイト更新頻度が上がるかもしれない
- 上がらないかもしれない