2

我希望 11ty 为每个数据文件生成一个页面,而不是通过迭代数据文件中的数据来生成多个文件。这可能吗?

我的用例是我有多个yaml格式的职位描述:每个职位一个 yaml 页面。所以我想为每个数据文件生成一个页面。

我意识到我可以将所有的 yaml 数据作为前面的内容放在一个没有内容的页面中,但这感觉不对,因为我只有数据。

感谢您的任何指示。

4

2 回答 2

4

是的,您可以将集合分页结合使用,为每个作业创建一个输出文件。关键是使用 1 的分页大小,这样您的站点目录中只需要一个页面,它会为每个作业创建一个输出页面。这在Create Pages From Data中有记录。

链接文档文章中的示例使用一个数据文件 ( possums.json) 并在 110 为该文件生成的对象上进行分页。如果每个元素有一个数据文件(在您的情况下是作业),则可以通过将所有这些数据文件放在 _data 目录内的父目录中并对其进行迭代来实现相同的目的。这里的关键是了解十一如何处理全局数据目录中的嵌套目录,以及您可以使用对象的分页

因此,如果您的 yaml 作业文件结构如下:

  • _data/jobs/job1.yaml
  • _data/jobs/job2.yaml
  • _data/jobs/job3.yaml

您应该能够像这样对它们进行分页(改编自文档中的示例,可能需要进行一些调整以使其适用于您的内容):

pagination:
    data: jobs
    size: 1
    alias: job
    resolve: values
permalink: "jobs/{{ job.name | slug }}/"
于 2020-08-03T13:09:41.470 回答
0

感觉恰到好处:) 将文件放入其中并在几秒钟内完成您的页面。如果您只需要将它们转换为页面,这是一种最快的方法。收藏品将为您提供列表等。

于 2021-10-08T22:25:09.047 回答