Lua和OpenResty的模板引擎(HTML)

模板语法

您可以在模板中使用以下标签:

  • ​{{expression}}​​,写入表达式的结果 - html转义
  • ​{*expression*},​​写入表达结果
  • ​{% lua code %}​​,执行Lua代码
  • ​{(template)}​​​,包括​​template​​​文件,您还可以提供包含文件的上下文​​{(file.html, { message = "Hello, World" } )}​
  • ​{[expression]}​​​,包括​​expression​​​文件(表达式的结果),您还可以提供包含文件的上下文​​{["file.html", { message = "Hello, World" } ]}​
  • ​{-block-}...{-block-}​​​,用一个键(在这种情况下)​​{-block-}​​​将一个内部包装到一个存储在​​blocks​​​表中的值​​block​​​,看到​​使用块​​​。不要使用预定义的块名称​​verbatim​​​和​​raw​​。
  • ​{-verbatim-}...{-verbatim-}​​​并且​​{-raw-}...{-raw-}​​​是内部不被处理的预定义块,​​lua-resty-template​​但内容被原样输出。
  • ​{# comments #}​​​之间的所有内容​​{#​​​和​​#}​​被认为是注释(即,不输出或执行)

从模板中,您可以访问​​context​​​表中的所有内容,以及​​template​​​表中的所有内容。在模板,您还可以访问​​context​​​,并​​template​​通过在前面键

 

短逃避语法

如果您不想要处理特定的模板标签,则可以使用反斜杠转义起始标签​​\​​:



<h1>\{{message}}</h1>



这将输出(而不是评估消息):



<h1>{{message}}</h1>