[英]Jekyll Liquid Array ID Not Working
我的_data
文件夾中有一個CSV文件,我試圖指定要訪問的CSV行在“前事宜”中,然后根據“前事宜”中指定的行從CSV返回特定列。
這是CSV文件:
name,description
Dallas,Big City in Texas
這是我的index.html
文件的內容:
---
city: "Dallas"
---
{{ site.data.data[page.city].description }}
在使用數據文件的Jekyll Docs頁面上,我應該能夠使用這種語法以這種方式訪問數據文件,但是編譯的html文件不包含任何數據。
我已經測試了訪問CSV文件內容的其他方法以及這些方法的工作,因此,看來數據文件或網站本身不是問題,而是使用[ ]
數組id Liquid語法。
似乎您誤解了[]
哈希結構表示法。 首先,我將指導您如何使用[]
。
data.csv
擴展一下data.csv
:
name,description
Dallas,Big City in Texas
Houston,Another City in Texas
並“檢查”從上述CSV文件獲得的數據對象,
{{ site.data.data | inspect }}
在構建站點時,您會看到生成的對象只是一個哈希數組 :
<p>
[
{"name"=>"Dallas", "description"=>"Big City in Texas"},
{"name"=>"Houston", "description"=>"Another City in Texas"}
]
</p>
這意味着您只能通過引用其索引號來訪問各個哈希條目。
即{{ site.data.data[0] }}
將給您第一個哈希,而{{ site.data.data[1] }}
將給您下一個哈希。
因此{{ site.data.data[0].description }}
將為您帶來預期的結果:
<p>
Big City in Texas
</p>
現在您知道[]
如何處理數據散列,讓我們簡單地找到解決方案。
要訪問Array中的元素,可以簡單地遍歷Array對象並引用必要的條目:
{% for entry in site.data.data %}
<div>
<span>{{ entry.name }}</span> : <span>{{ entry.description }}</span>
</div>
{% endfor %}
會給你:
<div>
<span>Dallas</span>
<span>Big City in Texas</span>
</div>
<div>
<span>Houston</span>
<span>Another City in Texas</span>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.