将数组文字分配给Liquid Template中的变量

Ste*_*isi 34 liquid jekyll

我知道从我的液体模板创建数组的唯一方法是:

{% assign my_array = "one|two|three" | split: "|" %}
Run Code Online (Sandbox Code Playgroud)

还有其他办法吗?

Cir*_*四事件 23

Frontmatter

这是一个很好的解决方法,添加到文件的顶部:

---
my_array:
  - one
  - two
  - three
---
Run Code Online (Sandbox Code Playgroud)

然后用它作为:

{{ page.my_array }}
Run Code Online (Sandbox Code Playgroud)

类似的网站宽site.data.my_array_config或下_data/some_file.yml.

更新Jekyll 3的布局

如果frontmatter是布局的,则需要使用:

{{ layout.style }}
Run Code Online (Sandbox Code Playgroud)

代替.请参阅:https://stackoverflow.com/a/37418818/895245

  • 另一种选择是创建一个名为"_data/my_array.yml"的文件并放入内容:" - one - two - 3".然后,正如您所说,可以通过site.data.my_array访问它. (2认同)

Bar*_*ers 8

还有其他办法吗?

不,你的split过滤器就是这样做的.