如何使用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
解决方法
我能够以这种方式做你想做的事:
{{ site.posts | map: 'to_liquid' | map: 'title' | array_to_sentence_string }}
说明:
我认为site.posts返回一个Post个实例的数组,而不是返回它们的to_liquid版本(感觉非常奇怪 – 可能是一个bug,你应该报告它).该类的实例不响应? :title,并且由于Liquid代码检查了该内容,因此映射为所有实例返回nil.