Collections 使用jekyll/liquid如何获取yml哈希的所有密钥
我有这个yamlCollections 使用jekyll/liquid如何获取yml哈希的所有密钥,collections,yaml,jekyll,liquid,Collections,Yaml,Jekyll,Liquid,我有这个yaml param1: key1: value1 key2: value2 param2: key1: value1 key2: value2 param3: key1: value1 key2: value2 我怎样才能用液体拿到所有的钥匙 预期结果将是 param1,param2,param3 有什么想法吗 非常难看的解决方案:{%for%}在集合上,并对键进行concat 可接受的替代解决方案:创建液体过滤器“键”。。。听起来太大了以至于它实际上
param1:
key1: value1
key2: value2
param2:
key1: value1
key2: value2
param3:
key1: value1
key2: value2
我怎样才能用液体拿到所有的钥匙
预期结果将是
param1,param2,param3
有什么想法吗
- 非常难看的解决方案:{%for%}在集合上,并对键进行concat李>
- 可接受的替代解决方案:创建液体过滤器“键”。。。听起来太大了以至于它实际上不存在
- id: param1
key1: value1
key2: value2
- id: param2
key1: value1
key2: value2
- id: param3
key1: value1
key2: value2
然后您可以使用
{{site.data.file | map:“id”| join:“,”}
好的,我实现了一个小过滤器来获取散列键:
只需写下如下内容:
{{ hash | keys }}
我使用了你在集合元素中循环的“丑陋解决方案”:
{% 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 %}
这解决了我的问题,但你也改变了根本问题^^回购协议不存在。建议更新或删除答案。