Jekyll:渲染嵌套集合的顶级元素(仅)?

Jekyll: render top level elements (only), of nested collection?

使用 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 循环:

{% 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

我看到有人 明确将顶级项目标记为 "top" 或类似的帖子。这对我不起作用;我只需要在模板逻辑中执行此操作。可能吗?

谢谢。

您可以查看 page.url 以确定它是否是子文件夹。您可以用斜线将其拆分并检查长度。

像这样(未测试):

{% for item in site.items %}
    {% assign itemurl = item.url | split: '/' %}
    {% unless itemurl[1] %}
      <p>{{ item.name }}</p>
    {% endunless %}
{% endfor %}