如何调整Jekyll的订单?

Kox*_*xzi 28 blogs jekyll

我已经开始了一个基于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:00date: 2014-12-31 00:10:00old_post.md.

date: 2014-12-31 00:10:00 +08:00如果需要,您可以添加时区(例如)


Ash*_*dal 7

我想记录我在这篇文章中的努力,以便它可以帮助其他用户.您需要进行两项更改:

  1. 打开你的帖子并增加重量.例如,重量:100
  2. 打开您希望排序帖子的菜单的html文件.对于Java/J2EE菜单,我在项目的根路径上有java.html文件.

然后,添加{% 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)