【发布时间】:2015-06-25 18:31:29
【问题描述】:
我正在使用 Jekyll 构建一个网站,只需要页面。
我想找到一种方法来为页面生成上一个和下一个链接,并为页面提供一个属性,如order。
有什么东西可以完成这项工作(没有插件)?我只能找到有关帖子的信息。
【问题讨论】:
标签: pagination jekyll
我正在使用 Jekyll 构建一个网站,只需要页面。
我想找到一种方法来为页面生成上一个和下一个链接,并为页面提供一个属性,如order。
有什么东西可以完成这项工作(没有插件)?我只能找到有关帖子的信息。
【问题讨论】:
标签: pagination jekyll
{% assign sortedPages = site.pages | sort:'order' | where: 'published', true %}
{% for p in sortedPages %}
{% if p.url == page.url %}
{% if forloop.first == false %}
{% assign prevIndex = forloop.index0 | minus: 1 %}
<a href="{{site.baseurl}}{{sortedPages[prevIndex].url}}">
previous : {{sortedPages[prevIndex].title}}
</a>
{% endif %}
{% if forloop.last == false %}
{% assign nextIndex = forloop.index0 | plus: 1 %}
<a href="{{site.baseurl}}{{sortedPages[nextIndex].url}}">
next : {{sortedPages[nextIndex].title}}
</a>
{% endif %}
{% endif %}
{% endfor %}
这样就可以了。
为了过滤您发布的页面,您可以在页面前端添加一个published 变量。
published: true -> 这是一个布尔值
published: 'true' -> 这是一个字符串
| where: 'published', true 将测试布尔值
| where: 'published', 'true' 将测试字符串
【讨论】:
--- layout: page title: Title of my page permalink: /part-01/title-of-my-page order: 12 published: true ---
| where: 'published', true