我想迭代 中的每个文件_data/sections/,但输出按所述文件中包含的数据(顺序属性)排序。当前的输出恰好是正确的顺序,尽管我不确定为什么,并且修改排序属性时顺序不会改变。
文件的结构如下:
// project/_data/sections/food.yml
title: Food
order: 2
content: "Food ipsum dolor sit amet."
-----
// project/_data/sections/drink.yml
title: Drink
order: 1
content: "Drink ipsum dolor sit amet."
Run Code Online (Sandbox Code Playgroud)
按照Jekyll 文档中数据文件的结构,for 循环代码如下:
// project/index.html
// ...
{% for section_hash in site.data.sections | sort: 'order' %}
{% assign section = section_hash[1] %}
<p><strong>{{ section.title }}</strong> - {{ section.content }}</p>
{% endfor %}
// ...
Run Code Online (Sandbox Code Playgroud)
我还尝试在将这些部分传递到 for 循环之前对其进行排序,如下所示:
{% assign sections_sorted = sita.data.sections | sort: 'order' %} …Run Code Online (Sandbox Code Playgroud)