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で管理しているので一元管理できて良い
- 更新が楽になったからサイト更新頻度が上がるかもしれない
- 上がらないかもしれない