首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hugo中的自动生成页面

Hugo中的自动生成页面
EN

Stack Overflow用户
提问于 2017-01-29 09:38:15
回答 2查看 2.2K关注 0票数 2

可以像中间人一样,从Hugo的数据文件中自动生成页面吗?我有一个yaml文件cars.yml,如下所示:

代码语言:javascript
复制
---
- name: "Ford"
  color: "blue"
- name: "Cadillac"
  color: "pink"

并希望根据预定义的模板为数据文件中的每个car记录自动生成一个单独的页面。我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-30 10:45:49

按照文档的思路,我按照以下步骤实现了MVP:

  1. 安装了一个测试Hugo站点,hugo new site carsite
  2. 根文件夹已经有了/data/文件夹,我在那里创建了cars子文件夹。
  3. carsite/data/cars将把每辆车作为一个单独的文件保存。这与你最初计划把它们放在一个列表中的计划不同,但是每辆车一个文件更好(版本控制,维护,因为错误的.yml将被单独标记,而不是单块数据文件)。
  4. /data/文件夹中创建内容文件: ford.yml: 名称:“福特”颜色:“蓝色” 和 cadillac.yml: 名称:“凯迪拉克”颜色:“粉红”
  5. 创建一个分部样式的汽车列表: carsite/themes/<your theme name>/layouts/partials/car_listing.html
  6. 调用循环,或者用Go术语,在文件中调用范围数据文件,负责您选择的位置。例如,让我们将其输出到主主页上,该主页由carsite/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

代码语言:javascript
复制
cars:
    - Name: Ford
      Color: Blue
    - Name: Cadillac
      Color: Pink
票数 2
EN

Stack Overflow用户

发布于 2019-07-19 07:55:52

我编写了一个简单的JS包装器,它根据Hugo中的数据生成页面。我目前正在使用它从YAML文件生成文章。

基德希尔/雨果-数据对页

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41919469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档