独学者Fossa

独学していることなど

Hugo Theme作成 考察(1)

Hugo
Hugo

まえがき

私が、HugoThemeを自作する時のルールを忘れないように、書いておきます。

過去に書いた記事を、一から書き直したリライト記事です。

使用環境

Name Version
Hugo v0.152.2-extended
OS Ubuntu 24.04.3 LTS
Info
v0.146以降、New template systemが採用されました。

本題

layouts ディレクトリ

layouts
├── _partials
├── baseof.html
├── home.html
├── page.html
└── section.html

Section

Sectionは、layouts/section.htmlを使用する。

セクション内

セクション内でレイアウトを変えたい場合は、layouts/section名/section.htmlを設置する。

content layouts
content/blog/_index.md layouts/blog/section.html
子セクション内

子セクション内でレイアウトを変えたい場合は、layouts/section名/子section名/section.htmlを設置する。

content layouts
content/blog/2025/_index.md layouts/blog/2025/section.html
個別

セクションの階層が深い場合などの状況で、個別にレイアウトを変えたい場合は、layouts/type名/{front matterのlayout欄}.htmlを設置する。

content layouts
content/blog/2025/12/_index.md layouts/type/202512.html
type: type
layout: 202512

Page

Pageは、layouts/page.htmlを使用する。

セクション内

セクション内でレイアウトを変えたい場合は、layouts/section名/page.htmlを設置する。

content layouts
content/blog/20250101.md layouts/blog/page.html
個別

個別のPageは、layouts/page.{front matterのlayout欄}.htmlを設置する。

content layouts
content/about.md layouts/page.about.html
---
layout: about
---

あとがき

New template systemになって、シンプルになったようで、複雑になったような気がします。

以前は、pageディレクトリがありましたが、廃止されました。

about.htmlabout.page.htmlpage.about.html、いずれも使えました。

about.page.html > page.about.html > about.html の順でした。