如何在 Jekyll 中按 post.title 的字母顺序对 site.posts 进行排序
How to sort site.posts alphabetically by post.title in Jekyll
我有一些 .md
个帖子,例如:
- 2016-10-01-first_post.md(标题:FIRST)
- 2016-10-03-some_post.md(标题:一些)
- 2016-10-04-another_post.md(标题:另一个)
- 2016-10-07-my_post.md(标题:我的)
- 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
我想按 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' %}
。你必须赋值然后循环。
我有一些 .md
个帖子,例如:
- 2016-10-01-first_post.md(标题:FIRST)
- 2016-10-03-some_post.md(标题:一些)
- 2016-10-04-another_post.md(标题:另一个)
- 2016-10-07-my_post.md(标题:我的)
- 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
我想按 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' %}
。你必须赋值然后循环。