設定ファイル(hugo.toml
)
サイトの設定はhugo.toml
に記述します。
設定の形式はTOML
/ YAML
/ JSON
が利用できます。
僕はTOML
を好んで使っています。
注意
v0.110からデフォルトの設定ファイル名がhugo.toml
に変更されました。
しばらくはconfig.toml
も使えるようですが、hugo.toml
に変更することが推奨されています。
詳しくはhugo.toml vs config.toml - Hugoドキュメントを参照してください。
設定ファイルしたい(--config
)
$ hugo --config 設定ファイル
$ hugo --config 設定ファイル1,設定ファイル2,設定ファイル3
--config
オプションで設定ファイルを指定できます。
設定ファイルは複数指定できる。
設定ファイルを分割したい(/config/
)
/config/環境名/
以下に設定ファイルを分割して配置できます。
デフォルトの設定は/config/_default/
に配置します。
設定項目はConfiguration directoryにあるとおりです。
以下に書き出してみましたが、Hugoのデフォルト(=ビルトイン)の設定でよい場合は、 ファイルを作成する必要はありません。
/config/_default/
hugo.toml
build.toml
cache.toml
cascade.toml
deployment.toml
frontmatter.toml
imaging.toml
languages.toml
markup.toml
mediatypes.toml
menus.toml
minify.toml
module.toml
outputformats.toml
outputs.toml
params.toml
permalinks.toml
privacy.toml
related.toml
security.toml
server.toml
services.toml
sitemap.toml
taxonomies.toml
Blowfishの場合
Blowfishテーマの設定ファイルのセクションでは、次のように設定ファイルを分割しています。
/config/_default/config.toml
/config/_default/languages.ja.toml # 言語関係の設定
/config/_default/menus.ja.toml # ナビゲーションの設定
/config/_default/params.toml # テーマ独自の設定
多言語サイトにする場合、設定ファイル名も言語ごとに作成できます。
用途別に設定したい(--environment
)
1$ hugo -e 環境名
2$ hugo -e gitlab # デフォルト + GitLab Pagesの設定
3$ hugo -e production # デフォルト + 公開設定
--environment
オプションで、用途別に設定を切り替えることができます。
設定ファイルは/config/環境名/
ディレクトリの以下に配置します。
デフォルトは/config/_default/
ディレクトリです。
上記のサンプルでは、次のような設定ファイルの配置を仮定しています。
/config/_default/hugo.toml # デフォルト設定(ステージング用)
/config/gitlab/hugo.toml # GitLab Pagesに公開する設定
/config/production/hugo.toml # 本番環境に公開する設定
ローカルでの開発(やステージング環境)では/config/_default/
、
GitLab Pagesでの構築時は/config/gitlab/
、
本番環境に公開する場合は/config/production/
の設定ファイルに切り替えて適用されるようにしています。
テーマごとに設定したい
この機能を使うと、テーマごとの設定を共存させることができます。 Hugoのテーマ作成はとても自由度が高く、テーマ間の互換性はほぼありません。
お気に入りのテーマを探す過程で、設定ファイルを毎回書き換えるのは面倒です。 次のように、テーマごとに設定ファイル環境を作成すると、その手間がぐっと抑えられます。
/config/_default/hugo.toml # 実行: hugo server
/config/blowfish/[...].toml # 実行: hugo -e blowfish server; Blowfishテーマ
/config/ananke/[...].toml # 実行: hugo -e ananke server; Anankeテーマ