数据类型

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 标记(tag)判断语句中,Nil 被当做 false

下例中,如果 user 不存在(也就是 user 返回 nil),Liquid 不输出问候语:


{% if user %}
  Hello {{ user.name }}!
{% endif %}

如果 Liquid 标记(tag)或输出返回的是 nil,页面上将不会有任何内容。

输入


The current user is {{ user.name }}

输出

The current user is

Array(数组)

数组能够存储一组任意类型的变量。

访问数组中的项

通过 迭代标记(iteration tag) 可以访问数组中的所有项。

输入


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