如何在Jekyll中通过post.title按字母顺序对site.posts进行排序

时间:2016-10-07 17:20:11

标签: jekyll

我有一些.md个帖子,例如:

  • 2016-10-01-first_post.md(标题:FIRST)
  • 2016-10-03-some_post.md(title:SOME)
  • 2016-10-04-another_post.md(标题:另一个)
  • 2016-10-07-my_post.md(标题:MY)
  • 2016-10-08-just_a_post.md(标题:JUST)

我创建了一个.html文件:

---
layout: default
title: Archives
---
<ul>
{% for post in site.posts %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>

然后我得到了一个按文件名排序的帖子列表:

• FIRST
• SOME
• ANOTHER
• MY
• JUST

我想按site.posts按字母顺序对post.title的帖子进行排序,但我不知道如何:

• ANOTHER
• FIRST
• JUST
• MY
• SOME

所以我正在寻求帮助,thx

2 个答案:

答案 0 :(得分:4)

您可以使用这样的排序过滤器:{% assign sortedPosts = site.post | sort: 'title' %}然后使用sortedPosts循环{% for post in sortedPosts %}

请注意,您无法执行{% for post in sortedPosts | sort: 'title' %}。你必须分配然后循环。

答案 1 :(得分:1)

您可以将一个变量分配给site.posts数组并使用|对它们进行排序sort:post.title。资料来源:https://help.shopify.com/themes/liquid/filters/array-filters#sort

然后循环遍历数组,就像通常通过帖子一样。