2017-03-08 92 views
1

config.yml定义收藏品鸡蛋为什么{{site.eggs.label}}不会为jekyll集合“鸡蛋”返回“鸡蛋”?

collections: 
    eggs: 
    output: true 

文件夹_eggs与前一个文件事

我可以访问集合标签,以便:

{{ site.collections[0].label }} 

返回“蛋”,而不是所以

{{ site.eggs.label }} 

它不返回任何东西s此:

{{ site.eggs }} 

https://jekyllrb.com/docs/collections/#liquid-attributes有关集合文档没有多大意义,对我说:“藏品也正在site.collections可用,与你指定的元数据”。作者说,在github的一个问题中,集合字段(默默地?)被删除(https://github.com/jekyll/jekyll/issues/4392)。

我目前正在评估Jekyll,这引起了疑虑,它在哪里稳定,有最新的文档,并有其他陷阱。

我误解了文档吗?为什么上述对收集元数据的访问不起作用。

+0

您是否需要简单地获取收藏品的标签?关联问题中有解决方案,但我不确定这是否是正确的答案。另外,是否有{{{site.eggs}}为你空?那个应该返回所有的鸡蛋。 – jpvillaisaza

+0

它应该返回所有的蛋,但输出是空的。阅读文档和我已经放弃jekyll的问题。 – citykid

回答

1

每个集合的元数据可用于site.collections,也就是说,它将返回一个包含元数据的集合数组。

如果有人直接访问集合,如site.eggs,则不会有可用的元数据,而是包含所有集合文件(即_eggs文件夹中的所有文件)的数组。

例如

要显示的site.eggs你可以遍历每个文件的内容,请考虑在/_eggs/item.yml

--- 
title: "Jekyll is awesome" 
--- 

以下文件然后你就可以在/index.yml显示它像:

{% for egg in site.eggs %} 
{{egg.title}} 
{% endfor %} 

输出:

Jekyll is awesome 
+0

看起来像我所期望的,但在我的机器上进行全新安装,这根本就没有用词。上面的循环没有渲染任何东西。但是你在开头写的内容与我的发现相符:site.collections是一个数组,通过名称访问元数据是不可能的,只能通过索引或循环和查找。 thx – citykid

+0

我也对它进行了全新测试,它也应该适合你,你有什么错误或者蛋收集文件的内容? – marcanuy

+0

几乎所有东西都是空的,呈现为“”。目前转移到人权,所以不能调查atm,但现在或以后jekyll仍然在我的名单上。 thx为您的时间和帮助。 – citykid