Liquid

Liquid

最近很多同学在修改jekyll模板过程中,都不免会接触一些Liquid语法,所以我将一些Liquid的基础语法整理出来,希望能帮到大家。


基本介绍

liquid 代码可以被分类为对象,标签和过滤代码

对象

对象表示页面中将要显示的内容,对象和变量使用双花括号表示

标签

标签创建模板的逻辑和控制流,标签使用花括号和百分号表示 标签的使用不会产生其他的文本,即说明在页面中不显示liquid逻辑代码的条件下,我们可以分配变量,创建条件和循环。 存在三种类型的标签,控制流标签,迭代型标签,变量赋值型标签 Standard Filters标准过滤器 ate -时间格式化

  1. capitalize-设置输入中的某个单词*
  2. downcase-将输入的字符串转换为小写*
  3. upcase-将输入的字符串转换为大写
  4. first-获得传入的数组的第一个元素
  5. last-获得传入的数组的最后一个元素
  6. join-用数组的分隔符连接数组中的元素
  7. sort-数组中的元素排序
  8. map-通过指定的属性过滤数组中的元素
  9. size-返回一个数组或字符串的大小
  10. escape-转义一个字符串
  11. escape_once-返回HTML的转义版本,而不会影响现有的实体转义
  12. strip_html-从字符串去除HTML
  13. strip_newlines -从字符串中去除所有换行符(\ n)的
  14. newline_to_br-用HTML标记替换每个换行符(\ n)
  15. replace-替换,例如:barbar #=> ‘barbar’
  16. replace_first-替换第一个,例如: ‘ #=> ‘foobar’
  17. remove-删除,例如:barbar #=> ‘barbar’
  18. remove_first-删除第一个,例如:bar #=> ‘bar’
  19. truncate-截取字符串到第x个字符
  20. truncatewords-截取字符串到第x个词
  21. prepend-前置添加字符串,例如:foobar #=> ‘foobar’
  22. append-后置追加字符串,例如:foobar #=> ‘foobar’
  23. minus-减法,例如:2 #=> 2
  24. plus-加法,例如:2 #=> ‘11’, 2 #=> 2
  25. times-乘法,例如:20 #=> 20
  26. divided_by-除法,例如:5 #=> 5
  27. split-通过正则表达式切分字符串为数组,例如:ab #=> [‘a’,’b’]
  28. modulo-取模,例如:1 #=> 1

标记

目前支持的标记的列表:

  1. assign -将某个值赋给一个变量
  2. capture-标记文本赋值给一个变量
  3. case-标准的case…when代码块
  4. comment-块标记,注释掉该块中的文本
  5. cycle-通常在循环中使用的值之间交替,如颜色或DOM类。
  6. for-for循环
  7. if-标准的if/else代码块
  8. include -包含另外一个模版
  9. raw-暂时停用标签处理以避免出现语法冲突
  10. unless-if的反义词