Jekyll:如何更改集合的默认排序方式

5
我在我的Jekyll网站中有一个集合,其中的文件名为数字1、2、3...... 10、11、12等等。我正在构建这些页面以相互连接,所以1将连接到2,...。
当我构建时,Jekyll会按照1、10、11、12、2、3等顺序提供服务。
我如何使它按照正确的数字顺序构建?
2个回答

6

在进一步搜索后,我找到了这个已解答的问题:如何更改jekyll中页面的默认顺序

基本上,我得出的结论是:

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

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

{% endfor %}

这与原始答案几乎相同。


2

首先,将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等。这使得我可以插入新页面而无需更改所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接