使用Jekyll Liquid模板:我该如何使用for循环渲染项目(在集合中),但仅将这些元素输出到集合层次结构的顶部?
proj_folder
- _items
• item_1.md
• item_2.md
- subfolder_1
• item_1-1.md
• item_1-2.md
- subfolder_2
• item_2-1.md
• item_2-2.md
好的,所以如果我为循环做一个标准:
{% for item in site.items %}
<p>{{ item.name }}</p>
{% endfor %}
我会得到类似的东西
Item 1
Item 2
Item 1-1
Item 1-2
Item 2-1
Item 2-2
但是我真的想停在顶层。所以我只想要这个(不包括子文件夹):
Item 1
Item 2
我看到过有人在monkey with frontmatter上发表过的帖子,这些帖子将顶级商品明确标记为“ top”或类似名称。这对我不起作用;我只需要在模板逻辑中执行此操作。可能吗?
谢谢。
答案 0 :(得分:1)
您可以查看page.url以确定它是否是子文件夹。您可以将其分割为斜线并检查其长度。
类似这样的东西(未经测试):
{% for item in site.items %}
{% assign itemurl = item.url | split: '/' %}
{% unless itemurl[1] %}
<p>{{ item.name }}</p>
{% endunless %}
{% endfor %}