可以像中间人一样,从Hugo的数据文件中自动生成页面吗?我有一个yaml文件cars.yml,如下所示:
---
- name: "Ford"
color: "blue"
- name: "Cadillac"
color: "pink"并希望根据预定义的模板为数据文件中的每个car记录自动生成一个单独的页面。我怎么能这么做?
发布于 2017-01-30 10:45:49
按照文档的思路,我按照以下步骤实现了MVP:
hugo new site carsite。/data/文件夹,我在那里创建了cars子文件夹。carsite/data/cars将把每辆车作为一个单独的文件保存。这与你最初计划把它们放在一个列表中的计划不同,但是每辆车一个文件更好(版本控制,维护,因为错误的.yml将被单独标记,而不是单块数据文件)。/data/文件夹中创建内容文件:
ford.yml:
名称:“福特”颜色:“蓝色”
和
cadillac.yml:
名称:“凯迪拉克”颜色:“粉红”carsite/themes/<your theme name>/layouts/partials/car_listing.htmlcarsite/themes/<theme name>/layouts/index.html控制:
.(现有header.html部分等等).{{ range $.Site.Data.cars }} {部分"car_listing.html“。}{ end }.(现有的footer.html部分等等).下面是它在我身上的样子(代笔模板):

如果您坚持将所有文件保存在一个数据文件中,这也应该是可行的,只需查询数据文件并对其进行范围。另外,如果您选择了yml格式,请设置数据文件的正确格式序列 (您建议的数据结构看起来很可疑,因为列表在根目录中是直接的,而是添加一个键,例如,按照上述YML规范添加cars: ):
carsite/data/cars.yml
cars:
- Name: Ford
Color: Blue
- Name: Cadillac
Color: Pink发布于 2019-07-19 07:55:52
我编写了一个简单的JS包装器,它根据Hugo中的数据生成页面。我目前正在使用它从YAML文件生成文章。
https://stackoverflow.com/questions/41919469
复制相似问题