ページ設定したい(frontmatter

1title = "タイトル"
2date = "日付"
3images = ["画像パス", "画像パス"]
4tags = ["hugo", "frontmatter"]
5draft = true

ファイルの先頭に記述するフロントマターで ページごとの設定を記述できます。 フロントマターで設定した変数は、テンプレートで使うことができます。 また、ユーザー定義の変数も設定できます。

HugoではTOML、YAML、JSON、ORGの4つの形式でフロントマターを記述できます。 このドキュメントのサンプルはTOML形式で記述しています。

タイトルしたい

1title = "正式なタイトル"
2linktitle = "リンク用のタイトル"
<ul>
    {{ range .Pages.ByLinkTitle }}
    <li>{{ .LinkTitle }}</li>
    {{ end }}
</ul>

.LinkTitleを使ってリンク用の短いタイトルを設定できます。 関連コンテンツやサイドバーなどにリンク一覧を生成する場合に使ったりします。 .LinkTitleが設定されていない場合は.Titleが表示されます。

日付したい

1date = "2023-10-26T15:20:00+09:00"
2publishdate = "2023-10-26T15:20:00+09:00"
3lastmod = "2023-10-26T15:40:00+09:00"
4expirydate = "2024-10-26T15:40:00+09:00"

さまざまな日付を設定できます。 日付フォーマットはISO8601形式を採用し、タイムゾーン情報もつけるとよいでしょう。

下書きしたい

1draft = true

ページの状態を「下書き」に設定できます。 下書き状態のページはレンダリングされません。

確認用に表示したい場合は、hugo --buildDraftオプションを使います。

日本語したい

1isCJKLanguage = true

日本語などを使う場合は設定しましょう。 マルチバイト文字に対して、.WordCount.Countが正確になるらしいです。

関連画像したい

1images = [
2    "画像のパス",
3    "画像のパス",
4    "画像のパス",
5    ]

ページに関連する画像がある場合は、imagesで画像パスをリスト型で設定できます。 この変数は、OGP用Twitter Cards用Schema用の内部テンプレートでも使われています。

注釈

これらの内部テンプレートの中では、imagesが明示的に設定されていない場合には、リソース(=$.Resources)にあるfeaturecoverthumbnailがファイル名に含まれる画像ファイルを探すようになっています。