Hugoのhtmlを編集しようとして、文法が全くわからなかったので、ナニコレ?と思ったものを調べました。
Zzoのテンプレートをいじりながら調べていたので、純Hugoの文法ではないものも混ざっているかもしれません。
configパラメータの取得方法
|
|
|
|
このとき、{{ $.Site.baseURL }}
または{{ .Site.baseURL }}
でbaseURLを取得できる。
また、logoTextを取得する場合は、下記のように記載できる。
{{ $.Param "logoText" }}
{{ .Param "logoText" }}
{{ .Param "LOGOTEXT" }}
{{ $.Site.Params.logoText }}
{{ .Site.Params.logoText }}
{{ .Site.Params.LOGOTEXT }}
$
は省略できる。(ただし、意味はある。後述のwith
のため)- 大文字小文字を区別しない。
erDiagram
Site ||--|{ Page : ""
Site ||--|{ Params : ""
Page ||--|{ MetaParams : ""
$.Param
は単体ではエラーになり、引数を渡すことで表示できる。
wrong number of args for Param: want 1 got 0
paramsの中でネストしている場合はチェーンにする↓↓
|
|
{{ .Site.Params.telegram.enable }}
{{ .Param "telegram.enable" }}
md記事のメタデータを取得する
{{ $ }}
はPage(/posts/tech/2022/11/19.md)
を示す。
{{ .Params }}
は以下のようなメタデータのmapである。
|
|
以下の記述によって、.md
のメタデータtitle
を取得できる。
{{ .Params.Title }}
{{ $.Title }}
{{ $.Param "title" }}
with
を使う場合
with
のブロック内では.
がwithの引数になる。
そのため、以下の.
は.Params.image
になる。このとき、ブロック内で.Params.hoge
と記述すると、$.Params.image.Params.hoge
を参照する。
なので、withブロック内では$
を付けて絶対参照をするようにする必要がある。
|
|