Hugoで記事が表示されないときに確認すること
目次
はじめに
Hugoで記事を書いてもサーバーで表示できないことがあったので、その際にチェックしたことと解決方法のメモです。
記事が表示されない原因
記事がドラフトになっている
hugo new content
コマンドで記事を作成すると、テンプレート(/archetypes/default.md
)を使用して記事が作成されます。
---
date: '{{ .Date }}'
draft: true
title: '{{ replace .File.ContentBaseName `-` ` ` | title }}'
---
デフォルトでdraft: true
となっているため、draft
の値を変更せずにhugo server
コマンドを実行しても記事が表示されません。
記事を表示するには、draft: false
に変更します。
なお、コマンドをhugo server -D
とするとドラフトの記事も表示できます。
日時が未来になっている
hugo server
コマンドでは未来日付の記事を表示できません。
また、日付が未来ではないのに記事が表示されないケースがあったのですが、これは設定ファイル(hugo.toml
)にタイムゾーンを設定していないことが原因でした。
タイムゾーンを設定していないとタイムゾーンがUTC
と判定されるためJST
(日本標準時)では「設定した日時+9時間」経過しないと記事が表示されません。
記事を表示させるにはdate: 2023-12-31T0:00:00+09:00
と日時設定でタイムゾーンまで設定するか、Hugoの設定ファイル(hugo.toml
)にタイムゾーンを設定すればOKです。
# タイムゾーンの設定
timeZone = "Asia/Tokyo"
なお、コマンドをhugo server -F
とすると未来日付の記事も表示できます。