2 分钟阅读
https://gohugo.io/content-management/archetypes/
Archetypes是在创建新内容时使用的模板。
Archetypes是位于项目的archetypes目录中的内容模板文件,其中包含为您的站点内容类型(content types)预配置的前置元数据(前置元数据)和可能的内容排列方式。当您运行hugo new
时,将使用这些模板。
hugo new
使用content-section
来查找项目中最合适的原型模板。如果您的项目不包含任何原型文件,它也会在主题中查找。
archetype-example.sh
|
|
以上将创建一个新的内容文件content/posts/my-first-post.md
,使用找到的第一个原型文件:
archetypes/posts.md
archetypes/default.md
themes/my-theme/archetypes/posts.md
themes/my-theme/archetypes/default.md
最后两个列表项仅适用于您使用主题并且它使用my-theme
主题名称作为示例。
以下是一个虚构的newsletter
section 的示例,以及原型文件archetypes/newsletter.md
。在archetypes/
中创建一个新文件newsletter.md
并在文本编辑器中打开它。
archetypes/newsletter.md
|
|
当您使用以下命令创建新的newsletter:
|
|
它将基于原型模板创建一个新的newsletter类型的内容文件。
!!! warning “注意”
注意:如果在原型文件中使用了 .Site
,那么只有在构建站点时才会构建。这对于大型站点可能需要很长时间。
上述newsletter
类型的原型展示了可能性:完整的Hugo .Site
和所有Hugo模板函数都可以在原型文件中使用。
从Hugo 0.49
开始,您可以使用完整的目录作为原型模板。假设有以下原型目录:
|
|
|
|
该命令将创建一个新的文件夹/content/posts/my-post
,并且它包含与post-bundle
原型文件夹中相同的一组文件。所有内容文件(例如index.md
)都可以包含模板逻辑,并将为内容的语言接收正确的.Site
。