鉴于此YAML:
- maincategory:
title: "Projects"
subcategory:
title: "General"
item:
title: "Alpha"
item:
title: "Beta"
- maincategory:
title: "Support"
subcategory:
title: "General"
item:
title: "Something"
item:
title: "Else"
如果Jekyll _data文件名为entries.yml,那么如何迭代这些数据?
到目前为止,我已经到了这里,但我不确定是否应继续在子循环中引用site.data对象。也不确定这是否可能。
{% for entry in site.data.entries %}
<h2>{{ entry.maincategory.title }}</h3>
{% for subcategory in site.data.entries.maincategories %}
<h3>{{ entry.maincategory.subcategory.title }}</h3>
<ul>
{% for item in site.data.entries.maincategory.subcategories %}
<li><a href="{{ item.href }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
要清楚,这是我想要结束的地方(输出方式):
<!-- Loop over every main category -->
<h2>Main category title</h2>
<!-- Loop over every sub category within main category -->
<h3>Subcategory title</h3>
<ul>
<!-- Loop over every item in this subcategory -->
<li><a href="#">Item title</a>
</li>
答案 0 :(得分:4)
- title: "Projects"
subcategories:
- title: "project-sub1"
items:
- title: "project-sub1-item1"
href: "#"
- title: "project-sub1-item2"
href: "#"
- title: "project-sub2"
items:
- title: "project-sub2-item1"
href: "#"
- title: "project-sub2-item2"
href: "#"
- title: "Support"
subcategories:
- title: "support-sub1"
items:
- title: "support-sub1-item1"
href: "#"
- title: "support-sub1-item2"
href: "#"
{% for entry in site.data.entries %}
<h2>{{ entry.title }}</h2>
{% for subcategory in entry.subcategories %}
<h3>{{ subcategory.title }}</h3>
<ul>
{% for item in subcategory.items %}
<li><a href="{{ item.href }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
<h2>Projects</h3>
<h3>project-sub1</h3>
<ul>
<li><a href="#">project-sub1-item1</a></li>
<li><a href="#">project-sub1-item2</a></li>
</ul>
<h3>project-sub2</h3>
<ul>
<li><a href="#">project-sub2-item1</a></li>
<li><a href="#">project-sub2-item2</a></li>
</ul>
<h2>Support</h3>
<h3>support-sub1</h3>
<ul>
<li><a href="#">support-sub1-item1</a></li>
<li><a href="#">support-sub1-item2</a></li>
</ul>