2016-03-28 65 views
0

我想通過我的frontmatter的sidebar屬性中的一些值來循環使用一些也使用YAML的Liquid循環,但它不起作用。如何通過YAML frontmatter內容在Liquid中循環使用? (Jekyll)

下面的代碼:

--- 
sidebar: [a, b, c] 
--- 

{% for sidebar in page.sidebar %} 
{% for entry in sidebar.entries %} 
... 

我想要的代碼使用a.entries,然後b.entries,然後c.entries,但它不工作。那是因爲所有的YAML處理都是同時發生的,然後Jekyll管道進程轉移到HTML或其他東西?

+0

我不明白的地方是'sidebar.entries'。在前面的事情? –

+0

實際上,我打算把路徑放到yaml文件中,而不是a,b,c,就像這樣:'site.data.sidebar.entries'。 sidebar.yaml文件從'entries:'開始。所以這個for循環將遍歷這裏列出的每個sidebar.yaml文件。 –

+0

對於我試圖實現此代碼的真實場景,請參閱此[文件](https://github.com/tomjohnson1492/documentation-theme-jekyll/blob/gh-pages/urls.txt)。我想避免重複通過每個邊欄文件的循環,就像我在那裏做的那樣。相反,我只想在frontmatter中列出側邊欄或簡單一些。 –

回答

1

這就是你如何訪問一個數據文件,一個變量名:

{% for sidebar in page.sidebar %} 
    {% for entry in site.data.sidebars[sidebar].entries %} 
    .. do things with datas 
    {% endfor %} 
{% endfor %} 
+0

這有效!非常感謝您的幫助。 –