Hugo テーマ 7. layouts/baseof.html をいじる
2026-05-28 21:26:15 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 テーマ 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テーマを作りプロジェクトに適用してみます。
- 📄 Hugo テーマ 1. はじめに2026-05-28 21:26:15背景と方針について。
- 📄 lullaby2026-04-01 22:09:55他のウィンドウに隠れているウィンドウを定期的に最小化するアプリ
- 📄 CaddyでWAFしてみる2026-02-25 22:04:31Windows に Caddy+Coraza+CoreRuleSet で WAF を入れます。