液体模板地图filter

如何使用Liquid中的地图filter? 我在Jekyll使用它。

--- my_array: [apple, banana, orage] my_map: hello: world foo: bar my_string: "how does this work?" --- {{ page.my_map | map ... }} 

这就是我迷路的地方。 我似乎无法在文档或其他任何在线网站上找到它的任何使用示例。

顺便说一句,我不知道Ruby,所以源代码对我来说也不清楚。

从filter测试看起来下面应该会产生一些东西,但是在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,你应该报告它)。 该类的实例不respond_to? :title respond_to? :title ,并且由于Liquid代码检查了该内容,因此map为所有实例返回nil。