2014-10-04 53 views
24

如果這個問題已經被問到,我真的找不到它在任何地方!Jekyll Post Order

基本上我已經開始了一個基於jekyll的博客,主題爲jekyll-now。 我是新來的jekyll和它如何運作(特別是液體)。 據我所知,新帖需要如下:2014-10-04-Hello-World.md。但我真的不明白我可以如何訂購這些東西。

我的第一個想法是他們按日期排序,因此在同一日期的兩個帖子會隨機排列。但是,情況並非如此?有沒有按時間順序排列帖子的方法。或者至少有一個後檔案頁?

道歉的相當誤導的問題,但我很堅持這一點。我似乎無法在網上找到任何可以理解的東西。

回答

26

有官方的化身文檔中的一個例子,如何創建一個基本的後存檔頁面:
Displaying an index of posts

獎勵:對於一個漂亮的存檔頁(按年或年/月分組),見this answer


你說得對,我找不到地方說,帖子是如何排列的文檔什麼,但事實上傑基爾確實他們次序按時間順序,與最近的職位第一(你可以如果您嘗試我上面鏈接的示例,請參閱本文)。

爲了其他的方式對它們進行排序(最老的職務第一),你可以使用關鍵字reversed,根據Liquid documentation

{% for post in site.posts reversed %} 

不過,我不知道如何在同一天兩個職位是有序的,因爲我不寫這麼多的帖子,所以我從來沒有這個問題:-)
你必須自己嘗試。

+0

謝謝,這確實排序的問題。這是一個恥辱,我不能按時間排序,因爲兩個帖子在同一天似乎按順序排列,不過他們喜歡!我正在尋找創建一個檔案,所以這真的很有幫助。 – Koxzi 2014-10-05 13:03:42

+0

如果您很費心閱讀答案,您可以按時間排序。 ;) – 2015-01-10 16:34:30

24

就面臨着同樣的問題,這個解決方案解決: https://groups.google.com/forum/#!topic/jekyll-rb/8QCIzevauSU

添加日期字段的YAML前頁後的,就像這樣:
date: 2010-09-15 14:40:45

例如如果您在2014/12/31有2個帖子,則可以將date: 2014-12-31 00:30:00添加到latest_post.md,將date: 2014-12-31 00:10:00添加到older_post.md。

您可以添加時區(例如date: 2014-12-31 00:10:00 +08:00)如果需要的話:)

+0

偉大的學習日期字段是可選的! (我已經手動保持它與文件名同步...杜:-( – tim 2016-10-17 10:55:18

5

我有同樣的問題,用Google搜索了很久。我感到混合感覺訂購職位可能會或可能不會。

最有可能Koxzi已經得到了他的答案,但我想我的文件到鬥爭這個職位,因此它可能幫助其他用戶

你需要做兩個變化。
1.打開你的帖子並增加重量。例如,體重:100
2.打開您希望排序的帖子的菜單的html文件。對於Java/J2EE菜單,我有java。html文件在我的項目的根路徑。
THEN

添加{%assign pages_list = pages_list |排序:「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 %}