ディレクトリ構造
Hugo の CLI は、プロジェクトのディレクトリ構造を足場にして、その 1 つのディレクトリを入力として、完全なウェブサイトを作成できます。
On this page
新しいサイトの足場かけ (スキャフォールディング)
コマンドラインから hugo new site
ジェネレーターを実行すると、以下の要素からなるディレクトリ構造が作成されます。
example/
├── archetypes/
│ └── default.md
├── assets/
├── content/
├── data/
├── layouts/
├── public/
├── static/
├── themes/
└── hugo.toml
ディレクトリ構造の説明
以下は、各ディレクトリの概要と、Hugo ドキュメント内の各セクションへのリンクです。
archetypes
- Hugo では
hugo new
コマンドを使用して、新しいコンテンツファイルを作成することができます。 デフォルトでは、Hugo は少なくともdate
、title
(ファイル名から推測)、draft = true
を含む新しいコンテンツファイルを作成します。これは時間を節約し、複数のコンテンツタイプを使用するサイトの一貫性が促進されます。また、独自の アーキタイプ を作成し、事前に設定されたカスタム フロントマター フィールドを使用することもできます。 assets
- Hugo パイプ
で処理する必要のあるすべてのファイルを保存します。
.Permalink
または.RelPermalink
が使用されているファイルだけが、public
ディレクトリに公開されます。注意: assets ディレクトリはデフォルトでは作成されません。 config
- Hugo には多数の 設定ディレクティブ
が同梱されています。
config ディレクトリ
は、これらのディレクティブが JSON、YAML、または TOML ファイルとして格納される場所です。すべてのルート設定オブジェクトはそれ自身のファイルとして存在することができ、環境ごとに構造化されます。
最小限の設定しか行わず、環境を意識する必要のないプロジェクトでは、ルートで 1 つの
config.toml
ファイルを使用できます。
多くのサイトではほとんど設定が必要ないかもしれませんが、Hugo には数多くの 設定ディレクティブ が同梱されており、Hugo にどのようにウェブサイトを構築させたいかを詳細に指示することができます。注意: デフォルトでは config ディレクトリは作成されません。
content
- Web サイトのすべてのコンテンツは、このディレクトリの中に置かれます。Hugo のトップレベルの各フォルダーは、コンテンツ セクション
と呼ばれます。たとえば、あなたのサイトに 3 つのメインセクション —
blog
、articles
、tutorials
– がある場合、content/blog
、content/articles
、content/tutorials
という 3 つのディレクトリを持つことになります。Hugo はセクションを使用して、デフォルトの コンテンツタイプ を割り当てます。 data
- このディレクトリは、Web サイトを生成する際に Hugo が使用する設定ファイルを格納するために使用されます。 これらのファイルは、YAML、JSON、または TOML 形式で記述できます。このフォルダーに追加するファイルに加えて、動的なコンテンツから取得する データテンプレート を作成することもできます。
layouts
- 静的な Web サイトへコンテンツをレンダリングする方法を指定する、
.html
ファイル形式のテンプレートが保存されます。テンプレートには、リストページ 、ホームページ 、タクソノミー テンプレート 、パーシャル 、シングルページ テンプレート 、その他多数が含まれます。 static
- すべての静的コンテンツ (画像、CSS、JavaScript など) を格納します。Hugo がサイトをビルドするとき、静的ディレクトリ内のすべてのアセットがそのままコピーされます。
static
フォルダーーを使用する良い例としては、Google Search Console でサイトの所有権を確認する 場合で、Hugo に HTML ファイルの内容を変更せずに完全にコピーさせたい場合です。
resources
- いくつかのファイルをキャッシュし、生成を高速化します。テンプレート作成者がビルドされた Sass ファイルを配布するために使用することもできますので、プリプロセッサーをインストールする必要はありません。 注意: resources ディレクトリはデフォルトでは作成されません。