Jekyll:如何更改集合的默认顺序

Jekyll: How to change the default ordering of collections

我的 jekyll 站点中有一个集合,其中包含以数字命名的文件。 1、2、3、... 10、11、12 等等。我正在构建这些页面以相互连接,因此 1 将连接到 2,...

当我构建时,jekyll 会按 1、10、11、12、2、3 的顺序提供它...

如何以正确的数字顺序构建它?

经过更多搜索,我找到了这个已回答的问题:How to change the default order pages in jekyll

基本上,我想到的是:

{% assign ordered_pages = site.pages | sort:"title" %}
{% for page in ordered_pages %}

<a href="{{ page.url | relative_url }}">{{ page.title }}</a>

{% endfor %}

这与原始答案几乎相同。

首先,将 order_number 添加到您的 YML,如下所示:

---
title: anything
order_number: 10
---

然后,使用以下代码对您的页面进行排序:

{% assign ordered_pages = site.pages | sort:"order_number" %}
{% for page in ordered_pages %}
  <a href="{{ page.url | relative_url }}">{{ page.title }}</a>
{% endfor %}

我使用“_number”来与 CloudCannon 兼容(指定输入类型)。如果你不关心这个,你可以使用 'order' 作为变量名。我也这样编号:10、20、30、40 等。这使我能够插入新页面而无需更改所有内容。