如何在 11ty 中添加分类法?
How to add taxonomies in 11ty?
我想使用看起来有点像这样的 json 文件
[{
"id": "foo",
"url": "video",
"topic": "Fancy foos"},
{
"id": "bars",
"url": "video",
"topic": "Naughty bars"
}]
作为几个按主题对条目进行分组的概览页面的来源(我猜这叫做分类法)。对此有什么好的解决方案?解析 json,将其与 js 分组并为每个主题创建一个自定义集合?如果是这样,这属于 _data 文件夹中的文件吗?
提前致谢!
我不是 100% 确定我得到了你想要的,但让我试着帮忙。首先,是的,将文件存储在您的 _data 文件夹中。假设您将其命名为 taxonomies.json。这意味着您的代码可以访问数组作为分类法。
接下来,如果您想根据这些数据构建页面,请查看 Create Pages from Data 的文档,其中描述了如何根据您的数据动态生成页面。每个分类法你可以有一个。例如:
---
pagination:
data: taxonomies
size: 1
alias: tax
permalink: "topic/{{ tax.id | slug }}/"
---
content here
您的内容需要由当前分类法驱动。我假设您会有一种包含分类法的内容,例如帖子?如果是这样,您可以创建一个短代码或过滤器来扫描所有帖子和 returns 前面数据中具有特定分类法的帖子。例如,这是我如何获得与类别匹配的帖子:
{% assign posts = collections.posts | getByCategory: cat %}
getByCategory 是在 .eleventy.js
中定义的。这部分的细节实际上取决于您要显示的内容。
我想使用看起来有点像这样的 json 文件
[{
"id": "foo",
"url": "video",
"topic": "Fancy foos"},
{
"id": "bars",
"url": "video",
"topic": "Naughty bars"
}]
作为几个按主题对条目进行分组的概览页面的来源(我猜这叫做分类法)。对此有什么好的解决方案?解析 json,将其与 js 分组并为每个主题创建一个自定义集合?如果是这样,这属于 _data 文件夹中的文件吗?
提前致谢!
我不是 100% 确定我得到了你想要的,但让我试着帮忙。首先,是的,将文件存储在您的 _data 文件夹中。假设您将其命名为 taxonomies.json。这意味着您的代码可以访问数组作为分类法。
接下来,如果您想根据这些数据构建页面,请查看 Create Pages from Data 的文档,其中描述了如何根据您的数据动态生成页面。每个分类法你可以有一个。例如:
---
pagination:
data: taxonomies
size: 1
alias: tax
permalink: "topic/{{ tax.id | slug }}/"
---
content here
您的内容需要由当前分类法驱动。我假设您会有一种包含分类法的内容,例如帖子?如果是这样,您可以创建一个短代码或过滤器来扫描所有帖子和 returns 前面数据中具有特定分类法的帖子。例如,这是我如何获得与类别匹配的帖子:
{% assign posts = collections.posts | getByCategory: cat %}
getByCategory 是在 .eleventy.js
中定义的。这部分的细节实际上取决于您要显示的内容。