Използвам docpad и на индексната страница в навигационния панел искам да получа списък с връзки, групирани по категории.
Категорията е дефинирана във всеки документ за маркиране в мета информация отгоре. Например category:"tutorials"
Така че имам това:
<% for docu in @getFilesAtPath("document-repository").toJSON(): %>
<li><h2><%=cat=docu.category%></h2></li>
<%for docu in @getFilesAtPath("document-repository",category:cat}).toJSON():%>
<li><a href="/bg#<%=docu.url%>"><%=docu.title%></a></li>
<%end%>
<% end %>
Но разбира се, че е лошо, тъй като се повтаря толкова пъти, колкото документи имам. Имам само една категория и искам тя да се завърти само веднъж, когато се отпечата списък с връзки.
С jekyll беше направено така (част от _includes nav.html от https://github.com/devo-ps/carte):
{% for category in site.categories %}
<li><h2>{{ category | first }}</h2>
<ul>
{% for posts in category %}
{% for post in posts %}
<li class='{{ post.type }}'><a href='/bg#{{ post.url }}'>{{ post.title }}</a></li>
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
Той по някакъв начин знае колко категории има. Не знам как да го пренеса към docpad