Docker+GitHub Pages+Hugo で静的サイト生成を検証するためのリポジトリ
リポジトリを clone して Docker イメージをビルドし、Docker コンテナを起動。
$ git clone <THIS REPOSITORY>
$ docker-compose up -d --build
記事を作成する。今回は test.md
という名前で作成する。
$ docker-compose run --entrypoint "" --rm hugo bash -c "cd mysite/ && hugo new blog/test.md"
すると、 blog/
ディレクトリ内に下記の内容が記載された test.md
が作成される。
+++
title = "Test"
date = 2021-12-16T12:34:44Z
tags = [""]
categories = [""]
banner = "img/banners/banner-default.jpg"
draft = false
+++
Write your article here.
作成されたファイルを編集して記事を執筆する。
ヘッダ部分で変更する項目及びその役割は次の通り。
title
categories
banner
draft
記事が書けたらビルドする。
$ docker-compose run --entrypoint "" --rm hugo bash -c "cd mysite/ && hugo"
サイトを 1 から作成する場合の手順を以下に示す。一度作成している場合はやらないこと。
GitHub のブランチルールと目標のディレクトリ構造を以下に示す。
GitHub のブランチルール:
main
src
main
ブランチへの push が行われる目標のディレクトリ構造:
.
├── Dockerfile
├── README.md
├── docker-compose.yml
└── mysite
├── archetypes
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes
サイトの作成。今回は mysite
という名前で作成する。
$ docker-compose run --entrypoint "" --rm hugo bash -c "hugo new site mysite"
テーマのインストールと適用。適用方法はテーマによって異なる場合があるので確認すること。今回、テーマは Universal を使用した。
$ git init
$ git submodule add https://github.com/devcows/hugo-universal-theme ./mysite/themes/hugo-universal-theme
テーマが適用できたか確認。
$ docker-compose run --entrypoint "" --rm hugo bash -c "cd mysite/ && hugo"
$ docker-compose run --entrypoint "" --rm hugo bash -c "cd mysite/ && hugo server"