Hugo Book テーマを使う際の tips

このページには Hugo テーマの1つである Book テーマの使うにあたっての Tips が書いてあります。

Book テーマの使い方 #

このサイトは Hugo の Book というテーマを使っています。 Book テーマの使い方を簡単に説明します。

Book テーマのリポジトリーに書いてある Requirements を見ると Hugo exented version が必要ということなので GitLab CI で使う Hugo のコンテナーイメージを extended version への変更するために、次のように .gitlab-ci.yml を変更します。

- image: registry.gitlab.com/pages/hugo:latest
+ image: registry.gitlab.com/pages/hugo/hugo_extended:latest

Book テーマのリポジトリーに書いてある Installation に従って themes ディレクトリーに Book テーマを git submodule コマンドで追加します。 なお、submodule で追加した場合、GitLab CI の実行の際、git パッケージが必要になるので、.gitlab-ci.yml に次のように git をインストールするようにしておきます。

before_script:
  - apk add -q git

また、hugo コマンドのコンパイルオプションとして、--minify --theme hugo-book を追加する必要もあります。 なお、--minify オプションは 生成したファイルを軽量化するのコマンドなのでなくても問題ないかもしれません(試していないです)。

-  - hugo
+  - hugo --minify --theme book

サイト設定 #

Hugo で生成するサイトの設定ファイルである config.toml を次の設定や説明を基に作っていきます。

基本的には環境に合わせて設定を書きこんでいくだけですが、1つだけコメントを残しておきます。

Book テーマ用のデフォルト設定に BookMenuBundle = '/menu' というものがありますが、これはコメントアウトしました。 これはサイドメニュー用の Markdown ファイル (menu/index.md) を別途用意し、それに基づいてサイドメニューを表示させるようにするものです。 ただ、これを使うとメニューの折り畳み (Collapsed) ができなかった (設定方法を間違った可能性はある) と、わざわざ別の Markdown ファイルを作るのがめんどくさかったためです。 コメントアウトするとサイドメニューは docs 以下のディレクトリー構成に従って作ってくれるようになります。

ページ設定 #

Markdown のファイルの冒頭にページ個別の設定を追加できます。

Book テーマで対応している設定項目は こちらを参照ください。