独学者Fossa

独学していることなど

Hugo environment

Hugo
Hugo

まえがき

Hugoでテーマを作成する時、どんな値が入っているのか確認したい場合があります。

production時のテーマとは別に、debug用のテーマを作り、必要な値を表示してみたいと思いました。

ドキュメントにも記載されているように、hugoを実行すると、environmentproductionになります。

debugを指定したい場合は、hugo --environment debugとすれば、いいみたいです。

--environmentの後の文字列(今回だとdebug)は、任意で良いように感じました。

environmentは、hugo configの表示で、確認することが出来ます。1

environment = 'production'

hugo config --environment debug

environment = 'debug'

使用環境

Name Version
Hugo v0.148.2-extended
OS Ubuntu 24.04.3 LTS

本題

作業中に見つけた不具合を書きます。

ルートディレクトリには、hugo.toml(yaml, json)に相当するファイルは、ありません。

configディレクトリは、下記の通り。

├── config
│   ├── _default
│   │   └── hugo.yaml
│   └── debug
│       └── hugo.yaml

config/_default/hugo.ymlでは、themeの設定は記載せず。

config/debug/hugo.yamlの中身は、下記の通り。

theme: "debug"

上記の状態で、hugo configを見ると、theme = ['debug'] になります。

おそらく、config/debug/hugo.yamlを読み込んでいるように思います。

本来は、下記で記したファイルのどちらかが存在しているのが、望ましいと思います。

  • ルートディレクトリにあるhugo.yml
  • config/production/hugo.yml

あとがき

production時に読むと思われる上記のファイルがない場合は、config/debug/hugo.yamlを読まずに、必要なファイルが存在しないなどのエラーになってほしいと思いました。

configthemesに、それぞれ、productiondebugというディレクトリを用意することで、要望通りになりました。


  1. {{ hugo.Environment }}でも、確認できます