2016-09-19 127 views
0

如何循环访问Jekyll中_data文件夹中的每个文件?如何遍历Jekyll的_data文件夹中的所有文件?

目前,我有一个名为sidebarlist.yml像这样的文件的文件列表:

- file1 
- file2 
- file3 

为了通过所有这些文件的循环,我用这个代码:

{% for sidebar in site.data.sidebarlist %} 
{% for entry in site.data.sidebars[sidebar].entries %} 
... 
{% endfor %} 
{% endfor %} 

我想避免使用sidebarlist.yml,并自动遍历_data中的所有文件。我可以这样做吗?

回答

1

根据documentation,jekyll会将YAML资源(.yml,.yaml,.json和.csv文件)直接加载到site.data中。如果您的文件使用这些格式之一,你可以这样做:

{% for data in site.data %} 
    ... 
{% endfor %} 
+0

由于改变_data_config.ymldata,而这并加载数据文件,它并不完全工作就是我试图完成。也许我的用例更复杂,因为我试图在每个文件中进入特定的yaml级别。 –

+0

我不确定要理解你想要完成什么,所以我没有详细说明我的答案。随意精确您的用例:) – wasthishelpful

0

看了你的问题标题和你的最后一个问题,我会回答:

你不能遍历文件您保持_data文件夹中。据Jekyll Variable doc和杰奇目录结构都在_data默认文件,支持扩展.yml .yaml .csv .json将在site.data加载像@ wasthishelpfull真实回答您通过{{site.data.*filename.data*}}和循环访问它虽然喜欢this answer

如果通过文件,你想循环,创建一个文件夹(no underscore)作为静态文件,并使用jquery.get()作为文件中的数据。

或者通过在URL端点增加data_source: data和访问/datasee this post for more