2016-06-21 55 views
0

我想細分我的帖子元素,創建多個元素,然後在液體中使用它們。如何在Jekyll中發佈「元素」

例如,我試圖把這個帖子前面的問題:

element: some text 
element: some other text 
element: even more text 

但是,如果我嘗試引用那些液體:

{% for elemento in post.element %} 
     {{ elemento }} 
{% endfor %} 

然後只有最後的「元素」是考慮。

這讓我覺得你不能有多個同名的變量並循環遍歷它們,因爲Jekyll只會讀最後一個,而忽略前一個同名的變量。

我不想使用不同的變量名稱(如在元素1,元素2等等),因爲每個帖子都有不同數量的元素。

什麼是實現該目標的方法?

非常感謝。

回答

3

您可以在您的事情中使用元素陣列

elements : 
- valueOne 
- valueTwo 

elements: [valueOne, valueTwo] 

然後,您可以循環在元素

從您的文章中或佈局

<ul> 
{% for element in page.elements %} 
    <li>{{ element }}</li> 
{% endfor %} 
</ul> 

site.posts循環中:

{% for post in site.posts %} 
    {% for element in posts.elements %} 
    <li>{{ element }}</li> 
    {% endfor %} 
{% endfor %} 
+0

謝謝你,那是完美的工作,是我一直在尋找。我只需用「發佈」替換「頁面」。 – Dakatine

+0

另外,我必須使用變量element.element而不是「element」otherwhise,看起來像這樣:{「element」=>「text」}。 我編輯了相應的答案。 – Dakatine

+0

我已經編輯了我的答案,以便更加精確。您可以使用頁面或帖子,這取決於上下文。而且,如果你需要使用'element.element',那就是你有一個'elements:[element:value1,element:value2]'數組,並且你有和上一個值重寫前一個值的問題。適當的用法是'元素:[valueOne,valueTwo]'帶引號或不帶。 –