1. とりあえずhugo server -D
って使ってるけどこれって何?
draft: true
のコンテンツファイルも含めて出力。
詳しくはhugo server --help
でチェック
2. taxonomyとtermの違い
- taxonomyは「タグ」や「カテゴリー」といった分類自体
- termはそのタグやカテゴリーに属する「go」とか「tips」のことです
こちらのサイトが非常に分かりやすいです!
https://maku77.github.io/hugo/taxonomy/basic.html
3. content配下の固定ページに共通のlayoutを使いたい
content配下のKindが「page」になるので「layout/page/single.html」が使えます
こちらのサイトが非常に分かりやすいです!
https://maku77.github.io/hugo/template/page-types.html
4. PermalinkとRelPermalinkの違いは?
{{ .Permalink }} → "https://example.com/hugo/mystyle.css"
{{ .RelPermalink }} → "/hugo/mystyle.css"
5. absURLとrelURLの違いは?
{{ "mystyle.css" | absURL }} → "https://example.com/hugo/mystyle.css"
{{ "mystyle.css" | relURL }} → "/hugo/mystyle.css"
6. assetsとstaticディレクトリの使い分けは?
基本的にはassetsを使い、ファイルのビルドや圧縮をしない場合にstaticを使うといいと思います
7. $.Site
と.Site
の違いは何?
$.Siteはグローバル変数に明示的にアクセスしたい場合に使います。
ページ一覧を出力する際に、その一覧ページのタイトルを出力するときなんかに使えます
layouts/_default/list.html
{{ range .Pages }}
{{ $.Title }} → 一覧ページタイトル
{{ .Title }} → ページタイトル
{{ end }}
https://gohugo.io/templates/introduction/#2-use--to-access-the-global-context
8. partial templateへの引数の渡し方は?
こんな感じで渡せます
layouts/partials/svgs/external-links.svg
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
fill="{{ .fill }}" width="{{ .width }}" height="{{ .height }}" viewBox="0 0 32 32" aria-label="External Link">
</svg>
layouts/_default/list.html
{{ partial "svgs/external-links.svg" (dict "fill" "#01589B" "width" 10 "height" 20 ) }}
詳しくは公式サイトをチェック
https://gohugo.io/functions/dict/
https://gohugo.io/templates/partials/
9. 配列や連想配列の空チェック
reflect.IsSlice
やreflect.IsMap
を使わなくても、if文でシンプルにチェックできます
{{ $item := dict "tags" (slice "tag1" "tag2") }}
{{ if $item.tags }}
{{ range $item.tags }}
{{ . }}
{{ end }}
{{ end }}
10. Hugoのテンプレート内のハイフンの有無について
前後の空白を取り除いてくれます
{{- .Title -}}
詳しくは公式サイトをチェック
https://gohugo.io/templates/introduction/#whitespace
11. キャメルケースのタグが小文字に変換されてしまう
configのdisablePathToLower
trueにすると、小文字に変換されるのを無効にできます
disablePathToLower: true