Hugo テーマ 2. まずは作ってみる
2026-05-28 21:26:15 Hugo内容が古くなっている可能性があるのでご注意ください。
テーマを作りプロジェクトに適用してみます。
テーマを作成する
テーマの作成にもコマンドがあります。 これは単純にテーマに必要なファイルを作成してくれるコマンドです。
公式ドキュメントhugo new theme ☐↗
ここでは “derty” という名前で作成してみます。
> hugo new theme derty
Creating new theme in (省略)/themes/derty
Note
実行するコマンドは “>” に続けて記載します。 出力例は続く行に “>” なしで記載します。
すると、以下のようにファイルが作成されます。
作成されたファイル (長いので折り畳み)
\---themes
\---derty
| hugo.toml
|
+---archetypes
| default.md
|
+---assets
| +---css
| | | main.css
| | |
| | \---components
| | footer.css
| | header.css
| |
| \---js
| main.js
|
+---content
| | _index.md
| |
| \---posts
| | post-1.md
| | post-2.md
| | _index.md
| |
| \---post-3
| bryce-canyon.jpg
| index.md
|
+---data
+---i18n
+---layouts
| | baseof.html
| | home.html
| | page.html
| | section.html
| | taxonomy.html
| | term.html
| |
| \---_partials
| | footer.html
| | head.html
| | header.html
| | menu.html
| | terms.html
| |
| \---head
| css.html
| js.html
|
\---static
favicon.ico
余分なファイルを削除する
archetypes
hugo new content を実行した際に、セクション (ざっくり解説: content 内のサブフォルダー) ごとにコンテンツのひな形を定義しています。
テーマ側がセクションの構造を指定するような場合にはあった方が親切かもしれませんが、ここでは取り扱いません。
content
すでに自身のプロジェクトにコンテンツがある場合、themes/derty/content の方は不要ですので削除してしまいましょう。
コンテンツがまったくない状況であれば、残しておくと動作確認に便利ではあります。 が、いずれにしても、最終的には削除するようにしましょう。
(static/favicon.ico)
プロジェクトで favicon.ico を作っている場合そちらが優先されますが、ない場合にこのファイルが使われます。
使う側が混乱しそうなので (「なんでこんな favicon になったんだ!?」) よほど主張をしたいテーマでなければ削除した方が良いかと。
プロジェクトにテーマを適用する
プロジェクトの設定ファイルを編集し、いましがた作ったテーマを適用します。
設定ファイルは、プロジェクトのルートディレクトリーに config.toml といった名前で存在するはずです。
Warning
編集しようとしているのはテーマの設定ファイルではありませんので、ご注意ください。
🙅
themes/derty/hugo.toml
👍config.toml
theme = "derty"
そのうえで、プレビューしてみましょう。
> hugo serve -D
サイトのトップページ 個別の記事のページ(コンテンツページ) セクションページ


- 📄 Hugo テーマ 1. はじめに2026-06-09 23:31:54背景と方針について。
- 📄 Hugo テーマ 9. Pagefind でサイト内検索機能を付ける2026-06-07 15:27:06静的なインデックスを使った検索 UI を提供する Pagefind 組み込んでみます。
- 📄 vvin2026-05-30 16:58:07Windows のウィンドウサイズを操作する CLI アプリ
- 📄 Hugo テーマ 8. Shortcodes と Render hooks2026-05-28 21:26:15Markdown で記述したコンテンツ (テーマの利用側) に対して Hugo が用意した HTML 変換の仕組みを見ていきます。
- 📄 Hugo テーマ 7. layouts/baseof.html をいじる2026-05-28 21:26:15サイト全体に共通する、ページのレイアウト定義をいじります。
- 📄 Hugo テーマ 6. layouts/home.html をいじる2026-05-28 21:26:15トップページのレイアウト定義をいじります。
- 📄 Hugo テーマ 5. layouts/section.html をいじる2026-05-28 21:26:15content 内のディレクトリーに対応するレイアウト定義をいじります。
- 📄 Hugo テーマ 4. layouts/page.html をいじる2026-05-28 21:26:15コンテンツに対応するページのレイアウトをいじります。
- 📄 Hugo テーマ 3. 作られたファイル2026-05-28 21:26:15前回作ったテーマを構成するファイルを確認します。
- 📄 Hugo テーマ 2. まずは作ってみる2026-05-28 21:26:15テーマを作りプロジェクトに適用してみます。