Awesome
lua-template
The simplest Lua HTML template engine in just a few lines of code
Installation
luarocks install template
Compiling templates
Templates can be compiled by either running
templatec template.tpl -o template.lua
nor by passing a string to template.compile
.
Syntax
In short, Lua expressions must be included between percent signs and Lua statements must be placed beetween question marks.
Variables and expressions
<a href="page-<%page + 2%>"><%next%></a>
Variables and expressions without HTML escaping
<body><%= content%></body>
Loops
<ul>
<? for i = 1, 3 do ?>
<li>item #<%i%></li>
<? end ?>
</ul>
Conditional
<? if 1 > 2 then ?>
Impossible!
<? else ?>
That's right!
<? end ?>
Template inclusion
Templates are compiled to a general Lua file and hence can be loaded by require
statement:
<html>
<script><%= require "scripts" %></script>
<style><%= require "styles" %></style>
</html>
Evaluating templates
template.print
takes three arguments: template function, a table with variables passed to the template and optionally a callback function, which handles string printing (print
is used by default).
Compressing templates
template.compile
has an optional minify
argument and templatec
has -m
option.