アーキタイプ
アーキタイプは、新しいコンテンツを作るときに使用するテンプレートです。
アーキタイプとは?
アーキタイプ は、プロジェクトの archetypes ディレクトリ
にあるコンテンツ テンプレートファイルで、あらかじめ設定された フロントマター
と、場合によっては Web サイトの コンテンツタイプ
に対応するコンテンツ配置を含んでいます。これらは hugo new
を実行したときに使用されます。
hugo new
は content-section
を使用して、プロジェクトに最適なアーキタイプ テンプレートを見つけます。 プロジェクトにアーキタイプ ファイルが含まれていない場合は、テーマの中も検索します。
hugo new posts/my-first-post.md
上記のコマンドにより、以下のテンプレートファイルで最初に見つかったアーキタイプ ファイルを使用して、content/posts/my-first-post.md
に新しいコンテンツファイルを作成します。
archetypes/posts.md
archetypes/default.md
themes/my-theme/archetypes/posts.md
themes/my-theme/archetypes/default.md
最後の 2 つのリスト項目は、テーマを使用している場合にのみ適用され、例として my-theme
というテーマ名が使用されます。
新しいアーキタイプ テンプレートを作成する
セクション newsletter
とアーキタイプファイル archetypes/newsletter.md
のための架空の例です。archetypes/newsletter.md
に新しいファイルを作成し、テキストエディターで開いてください。
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---
**Insert Lead paragraph here.**
## 新しいクールな投稿 {#new-cool-posts}
{{ range first 10 ( where .Site.RegularPages "Type" "cool" ) }}
* {{ .Title }}
{{ end }}
新しいニュースレターを作成する場合は、以下のコマンドを実行します。
hugo new newsletter/the-latest-cool.stuff.md
アーキタイプのテンプレートに基づき、新しいニュースレター タイプのコンテンツファイルが作成されます。
注意: サイトは、アーキタイプ ファイルで .Site
が使用されている場合にのみ構築されます。これは、大規模なサイトでは時間がかかる可能性があります。
上記の newsletter タイプの archetype は、その可能性を示しています。Hugo の完全な .Site
と Hugo のすべてのテンプレート関数がアーキタイプ ファイルの中で使用可能です。
ディレクトリベースのアーキタイプ
Hugo 0.49
以降、完全なディレクトリをアーキタイプ テンプレートとして使用できます。 以下のようなアーキタイプ ディレクトリが与えられた場合は、
archetypes
├── default.md
└── post-bundle
├── bio.md
├── images
│ └── featured.jpg
└── index.md
hugo new --kind post-bundle posts/my-post
上記のコマンドによって、/content/posts/my-post
ディレクトリに post-bundle
archetypes フォルダーと同じファイル セットを含む新しいフォルダーを作成します。 すべてのコンテンツファイル (index.md
など) にはテンプレート ロジックを含めることができ、コンテンツの言語に対応する正しい .Site
を受け取ります。