Liquid是 Shopify
开发的简易灵活安全的标记语言. 一个重要的应用场景就是Jekyll. Jekyll使用Liquid作为模板语言, 加入了一些标签和filter. Jekyll使用的不一定是最新的Liquid, 可以在Jekyll中查看Liquid的版本.
语法基础
三大基本概念
- 对象 Objects : 对象和变量使用
{{ 变量名 }}
. 会产生输出值. - 标签 Tags : 语法关键词, 主要是逻辑和控制. 使用
{% tag %}
来实现. 不会产生输出. - 过滤器 Filters : 改变输出, 可以认为是一种方法. 使用
|
将结果进行处理. 一般格式是{{ output | filter: 参数 }}
.
一般地,
{{}}
和{% %}
都是不占位的. 有时会出现空行, 这不是想要的结果. 可以使用{{- var -}}
和{%- tag -%}
来代替, 可以去掉左侧或右侧的whitespace控制符. 这个问题可能在HTML中会出现, 在markdown中并没有出现. 参考Whitespace control
运算符与真假
- 逻辑运算符 :
==
,!=
,>
,<
,>=
,<=
,and
,or
-
contains
判断, 检查子串. 如{% if string contains substr %}
. 也可以检查数组内是否含有某字符串. 只能检索字符串. - 真: 一切非
nil
或false
均为真, 包括 0 和 空字符串. - 假: 只有
nil
和false
为假.
变量和数据类型
变量的初始化或赋值使用 assign
和capture
标签.
- 字符串 String : 使用单引号或双引号.
- 数值 Number : 包括整形和浮点型.
- 布尔型 Boolean :
true
或false
. - 空型 Nil : 没有结果时返回的空型串, 例如变量没定义, 返回的就是
nil
. 为假. - 数组 Array : 任意类型的集合. 访问可以采用索引, 循环等. 索引起始值是
0
.
除了这些基本类型, 还有很多扩展类型如forloop
对象等. 可参见Shopify Liquid Objects.
网友评论