2017-05-23 20 views
0

我有一个哲基尔收集其在不输出,但在单页上正在显示它的元素,像这样:有没有办法循环通过jekyll集合的前端问题?

{% for element in site.collection %} 
    {{ element.content }} 
{% endfor %} 

我希望能够做这样的事情:

{% for element in site.collection %} 
    {{ element.content }} 
    {% for front_matter in element %} 
    <!-- do stuff --> 
    {% endfor %} 
{% endfor %} 

这可以在YAML _data文件中使用YAML哈希值,但在此不起作用,因为它似乎是{{ element }}本身与{{ element.content }}相同。似乎没有为此指定任何变量,如{{ element.front_matter }}。是否有可能通过jekyll集合中的元素的前端问题进行循环?

我知道,理想的方式,通过在一个变量做这将是包括所有我想环路front_matter,如:

--- 
front_matter: 
    foo: bar 
    bar: foo 
--- 

但是,正如我试图配置这些配对( foobar)通过散文很容易更新,它们不能嵌套在其他值下。如果以散文的方式解决这个问题,我会接受这个答案。

非常感谢!

回答

1

它可以遍历元素的变量在杰基尔集合:

{% for items in site.my_collection %} 
    {% for item in items %} 
    {{ item }}: {{ items[item] }} 
    {% endfor %} 
{% endfor %} 

但要记住,还有的是,也可以和将被包括在迭代其他元数据是很重要的,像pathurl等等,你的前面的问题,例如为_my_collection/something.md

next: 

path: _my_collection/something.md 

output: <p></p> 

url: /my_collection/something.html 

id: /my_collection/something 

content: <p></p> 

collection: my_collection 

relative_path: _my_collection/something.md 

excerpt: <p></p> 

previous: 

draft: false 

categories: 

slug: something 

ext: .md 

tags: 

date: 2017-05-23 14:43:57 -0300 
+0

这很好,谢谢。我期待它返回键值对,但我想它只是返回键。 –

相关问题