数据类型
Liquid 对象的类型可以是以下五种:
你可以通过 assign 或 capture 标记来初始化 Liquid 变量。
String(字符串)
将变量的值包裹在单引号或双引号之中就声明了一个字符串:
{% assign my_string = "Hello World!" %}
Number(数字)
数字类型包括浮点数和整数:
{% assign my_int = 25 %}
{% assign my_float = 39.756 %}
Boolean(布尔)
Booleans 类型只能是 true
或 false
。初始化布尔值时,不能加引号。
{% assign foo = true %}
{% assign bar = false %}
Nil(空)
Nil 是一个特殊的空值,当 Liquid 代码没有可输出的结果时将返回 Nil。他并不是由 “nil” 这个三个字符组成的字符串。
在 if
块和其他检查语句真实性的 Liquid 标签的条件下,"nil"被视为 "假"。
在下面的例子中, 如果 user 不存在 (即 user
返回 nil
), Liquid 将不会输出问候语:
{% if user %}
Hello {{ user.name }}!
{% endif %}
如果 Liquid 标记或输出返回的是 nil
,页面上将不会有任何内容。
输入
The current user is {{ user.name }}
输出
The current user is
Array(数组)
数组能够存储一组任意类型的变量。
访问数组中的项
通过 迭代标记 可以访问数组中的所有项。
输入
<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{% for user in site.users %}
{{ user }}
{% endfor %}
输出
Tobi Laura Tetsuro Adam
访问数组中的特定项
你可以使用方括号 [
]
访问数组中的特定项。数组的索引从 0 开始。
输入
<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{{ site.users[0] }}
{{ site.users[1] }}
{{ site.users[3] }}
输出
Tobi
Laura
Adam
初始化数组
你无法在只使用 Liquid 的情况下初始化数组。
然而,你可以利用 split 过滤器将一个字符串分割为一个子字符串数组。