Skip to main content

ディレクトリ構造

Hugo の CLI は、プロジェクトのディレクトリ構造を足場にして、その 1 つのディレクトリを入力として、完全なウェブサイトを作成できます。

新しいサイトの足場かけ (スキャフォールディング)

コマンドラインから hugo new site ジェネレーターを実行すると、以下の要素からなるディレクトリ構造が作成されます。

example/
├── archetypes/
│   └── default.md
├── assets/
├── content/
├── data/
├── layouts/
├── public/
├── static/
├── themes/
└── hugo.toml

ディレクトリ構造の説明

以下は、各ディレクトリの概要と、Hugo ドキュメント内の各セクションへのリンクです。

archetypes
Hugo では hugo new コマンドを使用して、新しいコンテンツファイルを作成することができます。 デフォルトでは、Hugo は少なくとも datetitle (ファイル名から推測)、draft = true を含む新しいコンテンツファイルを作成します。これは時間を節約し、複数のコンテンツタイプを使用するサイトの一貫性が促進されます。また、独自の アーキタイプ を作成し、事前に設定されたカスタム フロントマター フィールドを使用することもできます。
assets
Hugo パイプ で処理する必要のあるすべてのファイルを保存します。 .Permalink または .RelPermalink が使用されているファイルだけが、 public ディレクトリに公開されます。注意: assets ディレクトリはデフォルトでは作成されません。
config
Hugo には多数の 設定ディレクティブ が同梱されています。 config ディレクトリ は、これらのディレクティブが JSON、YAML、または TOML ファイルとして格納される場所です。すべてのルート設定オブジェクトはそれ自身のファイルとして存在することができ、環境ごとに構造化されます。 最小限の設定しか行わず、環境を意識する必要のないプロジェクトでは、ルートで 1 つの config.toml ファイルを使用できます。

多くのサイトではほとんど設定が必要ないかもしれませんが、Hugo には数多くの 設定ディレクティブ が同梱されており、Hugo にどのようにウェブサイトを構築させたいかを詳細に指示することができます。注意: デフォルトでは config ディレクトリは作成されません。

content
Web サイトのすべてのコンテンツは、このディレクトリの中に置かれます。Hugo のトップレベルの各フォルダーは、コンテンツ セクション と呼ばれます。たとえば、あなたのサイトに 3 つのメインセクション — blogarticlestutorials – がある場合、content/blogcontent/articlescontent/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 ディレクトリはデフォルトでは作成されません。