eleventy - 11ty 为每个数据文件渲染单个帖子
问题描述
我希望 11ty 为每个数据文件生成一个页面,而不是通过迭代数据文件中的数据来生成多个文件。这可能吗?
我的用例是我有多个yaml
格式的职位描述:每个职位一个 yaml 页面。所以我想为每个数据文件生成一个页面。
我意识到我可以将所有的 yaml 数据作为前面的内容放在一个没有内容的页面中,但这感觉不对,因为我只有数据。
感谢您的任何指示。
解决方案
是的,您可以将集合与分页结合使用,为每个作业创建一个输出文件。关键是使用 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 }}/"
推荐阅读
- c# - 如何将 LiteDB 查询结果输出为字符串?
- python - 根据 python 中具有许多参数的现有函数中的一个自由参数创建一个可调用函数
- python - 如何在熊猫中划分一组连续的两行
- android - 从 Laravel 后端触发对 Android Studio 的自动响应
- jenkins - 如何使用jenkins版本号插件每天重置内部版本号1在版本中使用
- julia - 有哪些方法可以从 Julia 中的给定序列创建具有给定维度的数组?
- excel - 我的代码没有返回预期值(VBA)
- html - 正则表达式在包含所需文本的 html 表中选择一行
- java - 我可以在 Java 的类注释中调用方法吗?
- c++ - iostream 等效于 snprintf(NULL, 0, format_string, args...)