小编lig*_*ght的帖子

Jeykll:按公共属性对 _data 子文件夹中的文件进行排序

我想迭代 中的每个文件_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)

sorting for-loop liquid jekyll

5
推荐指数
1
解决办法
1340
查看次数

标签 统计

for-loop ×1

jekyll ×1

liquid ×1

sorting ×1