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

How to sort site.posts alphabetically by post.title in Jekyll

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

我创建了一个 .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

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

• ANOTHER
• FIRST
• JUST
• MY
• SOME

所以我正在寻求帮助,谢谢

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

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

您可以像这样使用排序过滤器:{% assign sortedPosts = site.posts | sort: 'title' %} 然后在 sortedPosts 上循环:

{% for post in sortedPosts %}
  <a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}

请注意,您不能这样做 {% for post in sortedPosts | sort: 'title' %}。你必须赋值然后循环。