login

= 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