数据类型

Liquid 对象的类型可以是以下五种:

你可以通过 assigncapture 标记来初始化 Liquid 变量。

String(字符串)

将变量的值包裹在单引号或双引号之中就声明了一个字符串:


{% assign my_string = "Hello World!" %}

Number(数字)

数字类型包括浮点数和整数:


{% assign my_int = 25 %}
{% assign my_float = 39.756 %}

Boolean(布尔)

Booleans 类型只能是 truefalse。初始化布尔值时,不能加引号。


{% 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 过滤器将一个字符串分割为一个子字符串数组。