【问题标题】:With jekyll / liquid how to get all keys of a yml hash使用 jekyll / Liquid 如何获取 yml 哈希的所有密钥
【发布时间】:2016-12-19 04:02:32
【问题描述】:
我有这个 yaml
param1:
key1: value1
key2: value2
param2:
key1: value1
key2: value2
param3:
key1: value1
key2: value2
我怎样才能用液体得到所有的钥匙?
预期的结果是
param1,param2,param3
有什么想法吗?
- 非常丑陋的解决方案:集合上的 {% for %} 并连接键...
- 可接受的替代解决方案:创建一个液体过滤器“键”...听起来太大以至于它实际上并不存在...
【问题讨论】:
标签:
collections
yaml
jekyll
liquid
【解决方案1】:
我建议你的 yml 文件使用其他格式
- id: param1
key1: value1
key2: value2
- id: param2
key1: value1
key2: value2
- id: param3
key1: value1
key2: value2
那么你可以使用{{ site.data.file | map: "id" | join: "," }}
【解决方案3】:
我使用了循环遍历集合元素的“丑陋解决方案”:
{% for hash in site.data.file -%}
{{hash[0]}},
{%- endfor %}
如果你想去掉尾随的',':
{% for hash in site.data.file limit: 1 -%}
{{hash[0]}}
{%- endfor %}
{%- for hash in site.data.file offset: 1 -%}
,{{hash[0]}}
{%- endfor %}