Я создаю новый сайт 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 предоставляет функциональность, аналогичную этой, с функцией collection . Однако кажется, что коллекции используют только данные, представленные в тегах.
Я могу получить желаемый вывод, указав tags: ["section1"]
в начале каждого page.md
. Однако это означает, что нужно поддерживать больше избыточных метаданных.
Похоже, что я мог бы также сгенерировать нужные мне коллекции, используя функцию eleventyConfig.addCollection
, которая будет сортировать по collections.all()
и возвращать коллекции на основе их outputPath
. Но мне это очень нравится, и мне интересно, есть ли более элегантное решение.
В идеале я бы хотел добавить что-то подобное в мой шаблон index.njk
:
{%- for page in directory -%}
{# do stuff #}
{%- endfor -%}
или, возможно,
{%- for page in collections.directory -%}
{# do stuff #}
{%- endfor -%}
Есть ли что-то, чего мне не хватает?