【发布时间】:2019-08-25 01:57:26
【问题描述】:
我正在建立一个新的 Eleventy 网站,但遇到了一个小障碍。我的页面被组织成子目录。我希望每个目录的索引页列出该目录中的所有页面。
例如:
|--section1
| |--index.njk // this should list /section1/page1/, /section2/page2/, etc.
| |--page1.md
| |--page2.md
| --(etc...)
|--section2
| |--index.njk // this should list /section2/page1/, etc.
| |--page1.md
| --(etc..)
看起来 Eleventy 的collections 功能提供了与此类似的功能。但是,集合似乎只使用标签中提供的数据。
我可以通过在每个page.md 的前面指定tags: ["section1"] 来获得我想要的输出。但是,这意味着需要维护更多冗余元数据。
看起来我也可以使用eleventyConfig.addCollection 函数生成我需要的集合,该函数将通过collections.all() 排序并根据outputPath 返回集合。但这对我来说感觉很 hacky,我想知道是否有更优雅的解决方案。
理想情况下,我希望能够在我的index.njk 模板中添加这样的内容:
{%- for page in directory -%}
{# do stuff #}
{%- endfor -%}
或许
{%- for page in collections.directory -%}
{# do stuff #}
{%- endfor -%}
我有什么遗漏吗?
【问题讨论】:
标签: javascript node.js static-site