= ludweb
This is a simple web framework for LuaJIT on Linux.
Features:
* routing with regex parameter
* templates with branching, looping, % include
* extras: crypto hash for passwords, sqlite database
* no dependencies besides LuaJIT
= hello world app
```
local lud = require "ludweb"
lud.app.new_app{
{"GET", "/?", function (req) return "Hello World!" end},
{"GET", "/me/(%S+)", function (req, name) return "Hi "..name.."!" end}
}:run(8080)
```
= request object
TODO
= responses
TODO
= templates
```
local lud = require "ludweb"
local tpl = [[
% if $users == nil then
<p>no users found</p>
% else
<ul>
% for user in $users do
<li><a href="/user/{{$user.nick}}">{{$user.name}}</a></li>
% end
</ul>
% end
]]
local users = {
{nick="jsmith", name="John Smith"},
{nick="mlobato", name="Monteiro Lobato"},
{nick="mkupona", name="Mwana Kupona"}
}
local str = lud.template.render_str(tpl, {users=users})
print(str)
```
The function `render_file()` is similar to `render_str()`,
except that it takes a file name as first argument.
= crypto
TODO
= sqlite
TODO