11ty 跨多个目录的分页/多分页

发布于 2025-01-13 15:49:25 字数 490 浏览 2 评论 0原文

我使用 Eleventy/11ty 站点生成器,我有一个像这样结构的 myData 对象

[ {name: one, data: [1,2,3]},
  {name: two, data: [1,2,3,4]} ]

,我想为每个对象生成一组分页目录,例如

/one/1.html, /one/2.html etc
/two/1.html, /two/2.html etc

我能够用来

pagination:
  data: myData
  size: 1
  alias: test
permalink: "{{ test.name | slug }}/index.html"

生成单个 html 文件 (/one/index.html)。 html),其中包含名为“one”的对象中的所有数据。 但是我不知道如何额外分页该数据以获得所需的结构。

Im using Eleventy/11ty site generator and I have a myData object structured like this

[ {name: one, data: [1,2,3]},
  {name: two, data: [1,2,3,4]} ]

And I want to generate a set of paged directories of each, for example

/one/1.html, /one/2.html etc
/two/1.html, /two/2.html etc

Im able to use

pagination:
  data: myData
  size: 1
  alias: test
permalink: "{{ test.name | slug }}/index.html"

to generate a single html file (/one/index.html) with all the data from the object named "one".
However I cant figure out how to additionally page that data to get the desired structure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼睛会笑 2025-01-20 15:49:25

您应该能够使用 计算数据 + JS front Matter 使其正常工作:

~~~js
{
  pagination: {
    data: "flattenedData",
    size: 1,
    alias: "test",
  },
  permalink: "{{ test.name | slugify }}/{{ test.data }}",
  eleventyComputed: {
    flattenedData: ({ myData }) => 
      myData.flatMap(({ name, data }) =>
        data.map(d => ({ name, data: d }))
      )
  }
}
~~~

You should be able to use computed data + JS front matter to get this to work:

~~~js
{
  pagination: {
    data: "flattenedData",
    size: 1,
    alias: "test",
  },
  permalink: "{{ test.name | slugify }}/{{ test.data }}",
  eleventyComputed: {
    flattenedData: ({ myData }) => 
      myData.flatMap(({ name, data }) =>
        data.map(d => ({ name, data: d }))
      )
  }
}
~~~
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文