2017-07-30 51 views
0

我參考了How to customize the sorting of items on a page with jekyll上的鏈接。雖然這個想法與我需要的非常相似,但這個設置對我來說並不適合。在Jekyll中按類別自定義排序類別和羣組文章

場景:

我的職位名單,每個只有一個類別,如category Acategory Bcategory C,等等。我需要他們的訂單是category Bcategory A,category C

當前設置

loop.html目前MWE如下:

{% for category in site.categories %} 
    <h3>{{ category[0] | capitalize }}</h3> 
    {% for post in category[1] %} 
    <h4><a href="{{ post.url }}">{{ post.title }}</a></h4> 
    {{ post.excerpt }} 
    {% endfor %} 
{% endfor %} 

這只是排序依據的發佈日期,我相信。我可以做字母排序,但不能得到它B,A,C

我的所有帖子都有類別,每個類別只有一個類別。

當我在上述鏈接中的帖子中顯示的步驟時,循環顯示爲空白。

回答

1

使用在訂單類別的每個陣列相同的代碼,你想:

{% for category in site.categories.categoryB %} 
.... 

{% for category in site.categories.categoryA %} 
... 
{% for category in site.categories.categoryC %} 
.... 

您可以提高它把for循環中的包括,一個則通過類別中的各數組作爲它的參數,所以你避免重複代碼。

另一種方法是按照你想要的順序創建數組,然後makebthe for循環。

{% assign result = site.categories.categoryB %} 
{% assign result = result | concat: site.categories.categoryA %} 
{% assign result = result | concat: site.categories.categoryC %} 
{% for category in result %} 
    .... 
+0

謝謝,讓我試試看!我不知道我們可以做一個'site.categories.categoryB' ... –