使用include标记在Jekyll的_data文件夹中访问csv



我正在努力简化Jekyll网站的组织和数据使用。我正在尝试访问CSV中的各个行或值,使用以下片段是成功的:

{%- include speclocator.html name="Thing" -%}

数据位于_Data文件夹下的文件夹中,如下所示:

_data/FOLDER1/specifications.csv, 
_data/FOLDER2/specifications.csv, 
_data/FOLDER3/specifications.csv,
etc.

包含通过命名列访问CSV:

{%- for spec in site.data.FOLDER1.specifications -%}
{%- if spec.name == include.name -%}
{{ spec.value | strip }}
{% endif %}
{% endfor %}

帖子中的片段:

{%- for specification in site.data.FOLDER1.specifications -%}
<tr>
<td><strong>{{specification.name}}</strong></td>
<td>{{specification.value}}</td>
</tr>
{% endfor %}

如何为FOLDER1使用变量,以便可以将其用于多个帖子?

如果您想对多个数据源重用include,可以使用这样的括号表示法:

{%- include speclocator.html name="Thing" data_source="FOLDER1" -%}

或者,如果您有像data_source: FOLDER1这样的页面变量

{%- include speclocator.html name="Thing" data_source=page.data_source -%}

包括:

{%- for spec in site.data[include.data_source]["specifications"] -%}
{%- if spec.name == include.name -%}
{{ spec.value | strip }}
{% endif %}
{% endfor %}

相关内容