- Repo: GitHub
- Generate: Hugo+PaperMod(+Markdown contents)
- Host: GitHub Pages
- https://github.com/NUMA-Metaverse/numa-website の
mainブランチの内容がすなわちサイトの内容である- 従ってここのコードを更新すればそれがサイトに反映される
- 「HTML をビルドして...」などという必要はなく,ソースファイルだけでよい
- 具体例:記事執筆においては
content/posts/blogs/(post-title)/index.mdを作成すればそれだけでよい- この場合はhttps://numa-meta.com/posts/blogs/(post-title)/ に記事が作成されるかたちになる
- 従ってここのコードを更新すればそれがサイトに反映される
公式ドキュメントに従い,Hugo をインストールする.
git clone https://github.com/NUMA-Metaverse/numa-website.git
cd numa-website
git submodule update --init --recursiveまず,mainブランチから作業用の新しいブランチを作成し,それに切り替える.これ以降の編集やコミットは,全てこのブランチ上で行う.
git checkout -b (branch-name) main注:Windows の場合は PowerShell を用いること.
- 以下のコマンドで記事の作成をする.
hugo new posts/blogs/(post-title)/index.md- 以下のコマンドでローカル開発サーバーを起動する.
hugo server- ブラウザで
http://localhost:1313/posts/blogs/(post-title)/にアクセスし,表示を確認する. - ファイルを編集し保存すると,変更はプレビューに自動で反映される(ホットリロード).
- 作業がキリの良いところまで進んだら,変更内容をコミットする.
git commit -a -m "commit-message"原則として,プルリクエストを送る形式で進めること. 作業内容に自信がない場合や,第三者のレビューが必要な場合は特にこの手順を遵守する.
- 作業ブランチをリモートにプッシュする.
git push -u origin (branch-name)- GitHub 上で
mainブランチへのプルリクエストを作成する.
gh pr create --base main --head (branch-name) --title "pr-title" --body "description"略
- なぜソースファイルを更新するだけでよいのか?
- ソースの更新を検知 → ビルド → レジストリに置き稼働,まですべて自動化している
- DevOps とか CI/CD pipeline とかで調べれば幸せになれるかもしれない
- なぜ GitHub なのか?
- 無料,Git によるコード管理ができる,開発から運用まで行える,など
- それ以上気にするならこの QA 見るまでもないはず
- なぜ GitHub Pages なのか?
- 無料,GitHub のなかで収まり外部サービスの利用をしなくて済む
- なぜ public repo なのか?
- GitHub Pages にて無料で host するには public である必要がある
- 既存の generator+既存の theme による構成であり,live site から直接得られる情報と実質的に変わらない