ビルド設定したい(development / production)
1# config/_default/hugo.toml
2buildDrafts = true
3buildFuture = true
1# config/production/hugo.toml
2buildDrafts = false
3
4[services]
5[services.googleAnalytics]
6ID = "G-測定ID"
$ hugo server --openBrowser # 開発環境(`_default`)で起動
$ hugo server -e production # 本番環境(`_default` + `production`)で起動
$ hugo build # 本番環境(`_default` + `production`)でビルド
--environment(-e)で、Hugoのビルド環境を変更できます。
デフォルトは開発環境(development)で、config/_default/の設定だけが読み込まれます。
本番環境(production)を指定すると、config/production/の設定が_defaultの設定に上書きされます。
上記サンプルでは2つのことをしています。
1つは下書き記事の扱いで、開発中はbuildDrafts = trueにして下書きもその場で確認できるようにし、
本番ビルドではconfig/production/hugo.tomlのbuildDrafts = falseだけを上書きして、下書きを公開しないようにしています。
もう1つはGoogle Analyticsの計測タグです。
_defaultには設定せず、productionにだけ[services.googleAnalytics]を追加しています。
こうすることで、ローカル開発中のアクセスが計測データに混ざるのを防げます。
開発環境したい(_default / development)
config/_default/は、デフォルトの設定を配置するディレクトリです。
いわゆる「開発環境」の設定で、hugo serverを実行すると、この設定が読み込まれます。
本番環境したい(production)
config/production/は、本番環境の設定を配置するディレクトリです。
hugo buildを実行すると、デフォルトの設定に加えて、この設定が読み込まれます。
$ hugo server --environment production --openBrowser
ローカルで本番環境の設定を確認したい場合は、--environmentオプションで環境名を指定してhugo serverを実行します。
GitLab Pagesにデプロイしたい
1# config/_default/hugo.toml
2baseURL = "https://www.example.com/custom/"
1# config/gitlab/hugo.toml
2baseURL = "https://qumasan.gitlab.io/custom/"
$ hugo build # URL = https://www.example.com/custom/
$ hugo -e gitlab # URL = https://qumasan.gitlab.io/custom/
GitLab Pagesは、リポジトリ名によってURLが自動で割り当てられます。
config/gitlab/に置いた設定は、config/_default/の設定を上書きします。