如何使用Liquid中的地图过滤器?我在Jekyll使用它。
---
my_array: [apple, banana, orage]
my_map:
hello: world
foo: bar
my_string: "how does this work?"
---
{{ page.my_map | map ... }}
这就是我迷路的地方。我似乎无法在文档或其他任何其他网站上找到它的用法示例。
顺便说一下,我还不认识Ruby,所以source code对我来说也不清楚。
从filter tests来看,下面应该会产生一些东西,但是在GitHub上,我什么都没得到:
{{ site.posts | map: 'title' | array_to_sentence_string }}
我希望我能得到类似的东西:
My First Blog Post, Yet Another Post, and Third Posts
答案 0 :(得分:8)
我能够以这种方式做你想做的事:
{{ site.posts | map: 'to_liquid' | map: 'title' | array_to_sentence_string }}
说明:
我认为site.posts
正在返回一个Post个实例的数组,而不是返回它们的to_liquid
版本(这感觉非常奇怪 - 可能是一个错误,你应该报告它)。该类的实例不respond_to? :title
,并且由于Liquid代码检查了该类,所有实例的map
都返回nil。