Hugo テーマ 7. layouts/baseof.html をいじる
2026-06-15 00:11:30 Hugo最終更新日から %s 以上が経過しています。
内容が古くなっている可能性があるのでご注意ください。
内容が古くなっている可能性があるのでご注意ください。
サイト全体に共通する、ページのレイアウト定義を編集します。
このレイアウトの方針
- 細かいこと (ここでは解説しません)
- ヘッダー・フッター
- ブロック main は左右中央に配置
- 左にはコンテンツ内の見出しの一覧 (Table of contents) コンテンツページ限定
- 右にはプロファイルや最近の更新
- JS, SCSS→CSS
baseof.html
以下の役割を担っています。
- ページの枠組みを決める
- ページを構成する個々の部分は partial で他のテンプレートに任せる
- ブロック main を定義し、Hugo 決めたページの内容を当てはめる
| |
多数のファイルを参照しているため、幾つかの話題に絞って解説していきます。
meta.html
| |
{{- や -}}
ハイフンが置いてある側の空白を削除することを意味します。
HTML の要素を記述する部分では、過度に意識して記述する必要はありません。
一方で、表示される文字列を構築する場合は適切にこの記述していかないと間延びした表示になってしまいます。
シンタックスハイライト
このテーマはライトモードとダークモードに対応しています。
配色が変わるため、シンタックスハイライトもそれに合わせて CSS ファイルを作っておきます。
> hugo gen chromastyles --style=github > assets/css/syntax.css
> hugo gen chromastyles --style=github-dark > assets/css/syntax_dark.css
resource.Get.Content による CSS ファイル内容の展開
{{ $cssSyntax := resources.Get FILE_PATH_IN_ASSETS}} で、assets ディレクトリー内にあるファイルを読み込み、その内容を {{ $cssSyntax.Content }} で展開しています。
ただしこのまままでは HTML として表示できるものではないため、 {{ $cssSyntax.Content | safeCSS }} で「HTML に直接出力しても問題ない CSS なのでそのまま出力する」ということをしています。
- 📄 Hugo テーマ 9. Pagefind でサイト内検索機能を付ける2026-06-15 00:11:30静的なインデックスを使った検索 UI を提供する Pagefind を組み込みます。
- 📄 Hugo テーマ 8. Shortcodes と Render hooks2026-06-15 00:11:30Markdown で記述したコンテンツ (テーマの利用側) に対して Hugo が用意した HTML 変換の仕組みを解説します。
- 📄 Hugo テーマ 7. layouts/baseof.html をいじる2026-06-15 00:11:30サイト全体に共通する、ページのレイアウト定義を編集します。
- 📄 Hugo テーマ 6. layouts/home.html をいじる2026-06-15 00:11:30トップページのレイアウト定義を編集します。
- 📄 Hugo テーマ 5. layouts/section.html をいじる2026-06-15 00:11:30content 内のディレクトリーに対応するレイアウト定義を編集します。
- 📄 Hugo テーマ 4. layouts/page.html をいじる2026-06-15 00:11:30コンテンツに対応するページのレイアウトを編集します。
- 📄 Hugo テーマ 3. 作られたファイル2026-06-15 00:11:30前回作ったテーマを構成するファイルを解説します。
- 📄 Hugo テーマ 2. まずは作ってみる2026-06-15 00:11:30テーマを作りプロジェクトに適用するところまでを解説します。
- 📄 Hugo テーマ 1. はじめに2026-06-15 00:11:30連載「Hugo テーマ」を行う背景とその方針を説明します。
- 📄 vvin2026-05-30 16:58:07Windows のウィンドウサイズを操作する CLI アプリ