我所知道的从Liquid模板创建数组的唯一方法是:
{% assign my_array = "one|two|three" | split: "|" %}
还有其他的方法吗?
前置内容
这是一个不错的解决方法,将以下内容添加到您的文件顶部:
---
my_array:
- one
- two
- three
---
然后将其用作:
{{ page.my_array }}
对于整个站点的类似情况,_config
或 _data/some_file.yml
下的 site.data.my_array
也是如此。
Jekyll 3关于布局的更新
如果frontmatter是布局的话,需要使用:
{{ layout.style }}
还有其他方法吗?
没有了,您的split
过滤器是实现它的方法。
split
。Shopify关于Liquid数组的文档:https://docs.shopify.com/themes/liquid-documentation/basics/types#arrays - Danny这里有另一种方法,首先使用capture
,以友好的方式将换行分隔的值分配给变量,然后使用assign
和几个过滤器将该变量转换为数组:
{% capture my_array %}
one
two
three
{% endcapture %}
{% assign my_array = my_array | strip | newline_to_br | strip_newlines | split: "<br />" %}
strip
移除 one
前面的前导空格和 three
后面的尾随空格。newline_to_br
将换行符替换为 <br />
标签。strip_newlines
移除可能存在的多余换行符。split
将字符串转换为数组,使用 <br />
作为分隔符。---
my_array:
- one
- two
- three
---
---
my_array: [one,two,three]
my_prime: [5,7,11,13,17,19]
---
{{ page.my_array }}
和{{ page.my_prime }}
都将正确输出。