2017-01-20 89 views
2

我正在嘗試構建一個可以爲每個數據文件生成頁面的jekyll站點。爲每個數據文件創建一個頁面?

說我們有

/_data/ 
    a.yaml 
    b.yaml 

其中 a.yaml

event_name: A 
time: yesterday 
contents: 
    - name: A1 
    url: a1 
    - name: B1 
    url: b1 

b.yaml基本上是用不同的內容同樣的事情。

我想呈現的網站有2頁:/a.html/b.html。每頁的內容是a.yamlb.yaml中的內容的簡單列表。現在的Jekyll有可能嗎?

我知道有一個非常漂亮的jekyll插件叫jekyll-datapage-gen。但是,該插件爲數據文件中的每個項目生成頁面,並且與我在尋找的內容不同......任何人都可以在此提供一些建議嗎?謝謝!

+0

我會將yaml放在一個.md文件中(所以不要放在_data目錄中的yml文件中)。但是在你的情況下這可能是不可能的(給出你的問題)。 – JoostS

回答

2

您可以使用集合而不是數據文件來實現。文件將看起來是一樣的,與前面的事,然後你在配置中指定,使每個文件不同下旬output: true

看一看https://jekyllrb.com/docs/collections/,配置將是這樣的:

collections: 
    my_collection: 
     output: true 

它可以使數據文件相同,創建後a和後b,並在每個頁面中迭代其中一個數據文件,無論如何,我認爲使用集合完全適合這種情況。

+0

所以我想我應該將這些yaml文件重命名爲.md,就像@JoostS提示的那樣? – Hao

+0

@Hao是的,將這些傢伙重命名爲a.md,並將屬性/值放在--- ---之間。然後像前一個示例一樣在開始處創建一個帶有下劃線的目錄,例如:_my_collection – marcanuy

相關問題