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