Hugo用語集セクションのテンプレ最適化実践ガイド(テンプレ複製地獄を避ける!)

Hugo用語集セクションのテンプレ最適化実践ガイド(テンプレ複製地獄を避ける!)

もしHugoの用語集(glossary)セクションだけ独自のナビやレイアウトにしたいなら、テンプレ複製に悩まずサクッと簡単に管理できるやり方がある。本当に大事なポイント&「なるほど!」な気づきをまとめてみた。


Step 1: glossaryセクションの作成

用語集(glossary)用のMarkdownファイルを
content/en/glossary/content/ja/glossary/
に配置するだけでOK!何か特別な設定やファイルは不要。

ディレクトリ例:

content/
  en/
    glossary/
      apple.md
      bitcoin.md
  ja/
    glossary/
      apple.md
      bitcoin.md

Step 2: glossary専用ナビゲーションpartialを作成

glossaryページだけ独自ナビにしたいなら、

layouts/partials/glossary/nav.html

を作成し、ここに用語集専用ナビHTMLを記述するだけ。
用語リストやインデックス、何でもOK!


Step 3: glossary用baseof.htmlで専用レイアウト

Hugoの強みのひとつは、セクション単位でbaseテンプレートを用意できること!

layouts/glossary/baseof.html

例:

<!DOCTYPE html>
<html lang="{{ .Lang }}">
  <head>
    {{ partial "head.html" . }}
  </head>
  <body>
    {{ partial "glossary/nav.html" . }}
    {{ block "main" . }}{{ end }}
    {{ partial "footer.html" . }}
  </body>
</html>

これでglossary配下だけ自動で専用nav+設計を使える!


Step 4: single.htmlの複製は不要

最初は layouts/glossary/single.html も作らないと反映されないかと思うけど、
実はほとんどの場合いらない!
フロントマターが正しければ layouts/glossary/baseof.html だけで十分。


プロ技:Hugoが判断するのは「type」か「フォルダ名」

  • typeを未指定にすると、Hugoは親ディレクトリ名(ここでは “glossary”)をtype扱いにする
  • つまり content/en/glossary/ 配下の.mdは
    • typeなし
    • または type = "glossary" どちらでも自動的に layouts/glossary/baseof.html を使う!

本当に大事なのはfront matter

もしglossaryファイルのフロントマターに

type = "post"

があると、絶対にglossaryレイアウトは反映されない!

対応策:

  • typeを消す(←一番おすすめ!)
  • もしくは type = "glossary" にする

これだけでセクション専用レイアウト・ナビが自動で効く!


ディレクトリ構成例

layouts/
  glossary/
    baseof.html         # 用語集だけの専用ベースレイアウト
  partials/
    nav.html            # 全体用ナビ
    glossary/
      nav.html          # 用語集だけのナビ!
  _default/
    baseof.html         # その他用

まとめ

  • content/en/glossary/にMarkdownを置くだけでセクション分離可能(特別な設定は不要)
  • layouts/partials/glossary/nav.htmllayouts/glossary/baseof.html でカスタムレイアウトにできる
  • single.htmlの複製や分岐は不要
  • フロントマターだけ要確認!
    • type = “post” を絶対使わない
    • type未指定 or type = “glossary"でOK

覚えておきたいこと:
テンプレ反映はcontentの構成やfront matter次第!
テンプレやpartialの複製・if分岐より「どう配置・命名するか」が本質。


このやり方なら、シンプル・DRYで最強構成!
カスタムセクションのテンプレ管理で悩んだらぜひ参考にしてみて。
Happy Hugo theming! 🎉

Hugo 

著者について

Profile Avatar

Genx
1982年生まれ、日本人のビートメイカー・音楽プロデューサー。実験的なヒップホップビートを制作。国際的な環境で育ったため英語が話せる。趣味は筋トレ、アートワーク制作、ウェブサイトカスタマイズ、Web3。韓国が大好き。
ウェブサイト:genxrecords.xyz

関連記事