Jekyll 为液体模板中的变量指定数组文字
我知道从液体模板创建阵列的唯一方法是:Jekyll 为液体模板中的变量指定数组文字,jekyll,liquid,Jekyll,Liquid,我知道从液体模板创建阵列的唯一方法是: {% assign my_array = "one|two|three" | split: "|" %} 还有别的办法吗 还有别的办法吗 不,您的拆分过滤器就是这样做的。Frontmatter 这是一个很好的解决方法,请添加到文件顶部: --- my_array: - one - two - three --- 然后将其用作: {{ page.my_array }} 类似于\u config上或\u data/some\u file.ym
{% assign my_array = "one|two|three" | split: "|" %}
还有别的办法吗
还有别的办法吗
不,您的
拆分
过滤器就是这样做的。Frontmatter
这是一个很好的解决方法,请添加到文件顶部:
---
my_array:
- one
- two
- three
---
然后将其用作:
{{ page.my_array }}
类似于\u config
上或\u data/some\u file.yml下的站点范围site.data.my\u array
Jekyll 3版面更新
如果前面的内容是布局,则需要使用:
{{ layout.style }}
相反。请参阅:另一种方法是,首先使用友好的方式将换行符分隔的值指定给变量,然后将该变量转换为带有和一些筛选器的数组:
{% capture my_array %}
one
two
three
{% endcapture %}
{% assign my_array = my_array | strip | newline_to_br | strip_newlines | split: "<br />" %}
{%capture my_array%}
一
二
三
{%endcapture%}
{%assign my_array=my_array | strip | newline | u to_br | strip | newlines | split:“
”}
过滤器执行以下操作:
删除one
之前的前导空格和three
之后的尾随空格
用
标记替换换行符
删除可能的无关换行符
使用
作为分隔符,将字符串转换为数组
如果将数组放在页面前面,请执行以下操作:
---
my_array:
- one
- two
- three
---
我已经测试过你可以这样写:
---
my_array: [one,two,three]
my_prime: [5,7,11,13,17,19]
---
{{page.my_array}}
和{{page.my_prime}}
都将正确输出。正确。您必须使用split
。Shopify docs on liquid array:另一个选项是创建一个名为“\u data/my\u array.yml”的文件,并将其内容放入“-1-2-3”中。然后,正如您所说,可以通过site.data.my_数组访问它。为什么禁止直接在模板中创建它?@Adi不清楚。通常,Liquid会被设计成允许运行不受信任的模板。