我的 _data
文件夹中有一个CSV文件,我正在尝试指定要在我的Front Matter中访问的CSV行,然后根据Front Matter中指定的行从CSV返回特定列 .
这是CSV文件:
name,description
Dallas,Big City in Texas
这是我的 index.html
文件的内容:
---
city: "Dallas"
---
{{ site.data.data[page.city].description }}
根据关于使用数据文件的Jekyll Docs页面,我应该能够使用这种语法以这种方式访问数据文件,但编译后的html文件不包含任何数据 .
我已经测试了访问CSV文件内容的其他方法以及那些工作,因此它似乎不是数据文件或网站本身的问题,而是使用 [ ]
array id Liquid语法 .
1 回答
看起来你误解了哈希结构的
[]
表示法 . 我将首先介绍[]
应该如何工作..稍微扩展你的
data.csv
:并“检查”从上述CSV文件中获取的数据对象,
在构建网站时,您会看到结果对象只是一个 Array of Hashes :
这意味着您只能通过引用其索引号来访问单个哈希条目 .
即
{{ site.data.data[0] }}
将为您提供第一个哈希值,{{ site.data.data[1] }}
将为您提供下一个哈希值 .因此
{{ site.data.data[0].description }}
将为您提供您期望获得的结果:现在你知道
[]
如何用于数据哈希,让我们简单地了解解决方案 .要访问Array中的元素,可以简单地遍历Array对象并引用必要的条目:
会给你: