我已经开始了一个基于Jekyll的博客,主题是jekyll-now.我是Jekyll的新手以及它的运作方式(特别是Liquid).我知道新帖需要如下:2014-10-04-Hello-World.md.但我真的不明白我怎么能订购这些.
我的第一个想法是,他们按日期排序,因此同一天的两个帖子会随机排序.但事实并非如此吗?有没有办法按时间顺序订购帖子.或者至少有一个帖子档案页面?
Chr*_*cht 33
官方Jekyll文档中有一个示例如何创建基本的帖子存档页面:
显示帖子的索引
奖励:对于更漂亮的存档页面(按年份或年/月分组),请参阅此答案.
你是对的,我在文档中找不到任何内容,说明帖子是如何排序的,但事实上Jekyll 确实按时间顺序排序,最先发帖子(如果你试试我链接的例子,你可以看到这个以上).
要按照另一种方式(最早的帖子)对它们进行排序,您可以reversed根据Liquid文档使用关键字:
{% for post in site.posts reversed %}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何订购同一天的两个帖子,因为我没有写那么多帖子,所以我从来没有遇到过这个问题:-)
你必须自己尝试一下.
Yi-*_*hih 26
刚遇到同样的问题并通过此解决方案解决了问题:https: //groups.google.com/forum/#!topic/jekyll-rb/8QCIzevauSU
将日期字段添加到帖子的YAML Front Matter,如下所示:
date: 2010-09-15 14:40:45
Run Code Online (Sandbox Code Playgroud)
例如,如果你在2014/12/31有2个帖子,你可以添加到latest_post.md date: 2014-12-31 00:30:00和date: 2014-12-31 00:10:00old_post.md.
date: 2014-12-31 00:10:00 +08:00如果需要,您可以添加时区(例如)
我想记录我在这篇文章中的努力,以便它可以帮助其他用户.您需要进行两项更改:
然后,添加{% assign pages_list = pages_list | sort:"weight" %}如下代码所示的行.这将按重量排序.
{% for category in site.categories %}
{% if category[0] contains 'java' %}
<h3 id="{{ category[0] }}-ref">{{ category[0] | join: "/" }}</h3>
<ul>
{% assign pages_list = category[1] %}
{% assign pages_list = pages_list | sort:"weight" %}
{% include JB/pages_list %}
</ul>
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)