在后Yaml中声明的Jekyll数据

在后Yaml中声明的Jekyll数据,yaml,jekyll,liquid,Yaml,Jekyll,Liquid,我的数据文件夹中有一个名为2015-12-04-gallers.yml的文件。我可以用以下代码成功地解析它 {% for gall in site.data.2015-12-04-galleries %} <p> {{gall.name}} </p> <p> {{gall.address}} </p> <p> {{gall.url}} </p> <p> {{gall.url_sho

我的数据文件夹中有一个名为2015-12-04-gallers.yml的文件。我可以用以下代码成功地解析它

{% for gall in site.data.2015-12-04-galleries %}
    <p> {{gall.name}} </p>
    <p> {{gall.address}} </p>
    <p> {{gall.url}} </p>
    <p> {{gall.url_show}} </p>
{% endfor %}
{%site.data.2015-12-04-gallers%}
{{gall.name}

{{gall.address}

{{gall.url}

{{gall.url_show}

{%endfor%}
我将每月有一份新文件。我想定义一个名为event的新布局来处理这个问题。我想在post yaml中定义数据源。比如:

---
layout: event
data: 2015-12-04-galleries
---

{% for gall in post.data %}
    <p> {{gall.name}} </p>
    <p> {{gall.address}} </p>
    <p> {{gall.url}} </p>
    <p> {{gall.url_show}} </p>
{% endfor %}
---
布局:事件
数据:2015-12-04-01
---
{post.data%中的gall为%1}
{{gall.name}

{{gall.address}

{{gall.url}

{{gall.url_show}

{%endfor%}

我只是不知道如何将数据源定义为YAML中的变量。

这将获得您的数据:

---
layout: event
data: 2015-12-04-galleries
---

{% for gall in post.data[page.data] %}
    <p> {{gall.name}} </p>
    <p> {{gall.address}} </p>
    <p> {{gall.url}} </p>
    <p> {{gall.url_show}} </p>
{% endfor %}
---
布局:事件
数据:2015-12-04-01
---
{post.data[page.data]%中的gall为%1}
{{gall.name}

{{gall.address}

{{gall.url}

{{gall.url_show}

{%endfor%}

但是,如果您想为每个画廊生成一个页面,您可以尝试为每个收藏的项目自动生成一个页面。

正如David Jacquel所指出的:

但是,如果您想为每个库生成一个页面,可以尝试使用Jekyll collections,它可以自动为每个集合的项目生成一个页面


Jekyll collections可能是一个很好的解决方案。我只是一步一步地回答了一个问题,所以请检查一下并告诉我它是否适合您:

谢谢。我永远也想不到[page.data]这一块。我也在考虑收藏。我在活动布局中一直在努力的方向。既然有了这个,我就可以声明数据源了。我可以补充几句关于事件等的话,这些话将被放到{content}中。不过,我确实需要更多地了解收藏。