项目介绍
lua-resty-template是Lua和OpenResty中的模板渲染引擎。由Kong网关核心工程师bungle开源,京东商城使用此项目完成相关开发。
快速入门
安装
luarocks install lua-resty-template
content_by_lua_file
local template = require "resty.template"
template.render("post.html", { message = "Hello, Post!" })
post.html
{{message}}
输出
Hello, World!
模板语法
{{expression}}:输出传递的值,转义html相关标签
{*expression*}:输出传递的值
{% lua code %}:使用lua代码
{(template)}:引入html共用页面
{(base.html, { title = "Hello, World" } )}:引入html共用页面,并传递相关值
{-verbatim-}...{-verbatim-}/{-raw-}...{-raw-}:可原样输出模板语法
{# comments #}:在模板中使用注释,不会被执行和输出
简要示例
{{expression}}
message = "
Hello World
"输出:
Hello World
{{message}}
{*expression*}
message = "
Hello World
"输出:Hello World(带h1样式)
{*message*}
{% lua code %}
使用if判断。
{% if 1 == 2 then %}
1 = 2
{% else %}
1 ~= 2
{% end %}
{(template)}
引入共用模板,传递title、keywords、description等属性。
{(base.html, { title = ngx.ctx.post.title, keywords = ngx.ctx.post.keywords, description = ngx.ctx.post.description } )}
base.html
{{title}} | 程序员技术之旅{-raw-}...{-raw-}
可原样输出lua-resty-template中的语法。
输出:{{message}}。
{-raw-}{{message}}{-raw-}
{# comments #}
模板中注释,帮助开发者记录,不会被执行和输出。
内容123
{# This is comment #}
内容456
开源案例