ファイルの整理
ディレクトリ構造
デフォルトでは、Hugoはcontent
ディレクトリ内のMarkdownファイルを検索し、ディレクトリの構造がウェブサイトの最終的な出力構造を決定します。
このサイトを例に取ります:
- _index.md
- _index.md
- getting-started.md
- _index.md
- organize-files.md
- _index.md
- post-1.md
各_index.md
ファイルは、対応するセクションのインデックスページです。他のMarkdownファイルは通常のページです。
content
├── _index.md // <- /
├── docs
│ ├── _index.md // <- /docs/
│ ├── getting-started.md // <- /docs/getting-started/
│ └── guide
│ ├── _index.md // <- /docs/guide/
│ └── organize-files.md // <- /docs/guide/organize-files/
└── blog
├── _index.md // <- /blog/
└── post-1.md // <- /blog/post-1/
レイアウト
Hextraは、異なるコンテンツタイプに対して3つのレイアウトを提供します:
レイアウト | ディレクトリ | 特徴 |
---|---|---|
docs | content/docs/ | 構造化されたドキュメントに最適で、このセクションと同じです。 |
blog | content/blog/ | ブログ投稿用で、リスト表示と詳細記事表示の両方があります。 |
default | その他のディレクトリ | サイドバーなしの単一ページ記事表示です。 |
セクションの動作をビルトインレイアウトと同じにするには、セクションの_index.md
のフロントマターで希望するタイプを指定します。
---
title: My Docs
cascade:
type: docs
---
上記の設定例により、content/my-docs/
内のコンテンツファイルはデフォルトでドキュメント(docs
タイプ)として扱われます。
サイドバーナビゲーション
サイドバーナビゲーションは、コンテンツの整理に基づいて自動的に生成されます。サイドバーの順序を手動で設定するには、Markdownファイルのフロントマターでweight
パラメータを使用します。
---
title: Guide
weight: 2
---
パンくずナビゲーション
パンくずは、/content
のディレクトリ構造に基づいて自動生成されます。
例えば、上記のファイル構造を考えます。その構造に基づいて、/docs/guide/organize-files/
ページの上部にパンくずが自動的に表示されます:
Documentation > Guide > Organize Files
パンくずリンクのタイトルをカスタマイズ
デフォルトでは、各パンくずリンクはそのページのtitle
パラメータに基づいて生成されます。これをカスタマイズするには、linkTitle
を指定します。
例えば、Organize Files
の代わりにFoo Bar
と表示したい場合:
---
linkTitle: Foo Bar
title: Organize Files
---
これにより、以下のパンくずが生成されます:
Documentation > Guide > Foo Bar
パンくずを非表示にする
ページのフロントマターでbreadcrumbs: false
を指定することで、パンくずを完全に非表示にできます:
---
breadcrumbs: false
title: Organize Files
---
コンテンツディレクトリの設定
デフォルトでは、Hugoはサイトを構築するためにルートのcontent/
ディレクトリを使用します。
例えばdocs/
など、異なるディレクトリをコンテンツに使用する必要がある場合は、サイト設定hugo.yaml
でcontentDir
パラメータを設定することで行えます。
画像の追加
画像を追加する最も簡単な方法は、画像ファイルをMarkdownファイルと同じディレクトリに置くことです。
例えば、my-page.md
ファイルと同じディレクトリにimage.png
ファイルを追加します:
- my-page.md
- image.png
その後、以下のMarkdown構文を使用してコンテンツに画像を追加できます:
![](image.png)
また、Hugoのページバンドル機能を利用して、画像ファイルをMarkdownファイルと一緒に整理することもできます。そのためには、my-page.md
ファイルをmy-page
ディレクトリに変換し、コンテンツをindex.md
というファイルに置き、画像ファイルをmy-page
ディレクトリ内に置きます:
- index.md
- image.png
![](image.png)
または、画像ファイルをstatic
ディレクトリに置くこともできます。これにより、すべてのページで画像が利用可能になります:
- image.png
- my-page.md
画像パスはスラッシュ/
で始まり、static
ディレクトリからの相対パスであることに注意してください:
![](/images/image.png)