lgen
This is a very simple website templating engine based on markdown and Lua, written by Tuomo Valkonen ⟨tuomov@iki.fi⟩.
It is not particularly supported or maintained; it was created back in 2009
to build my own website. The engine is still being
used for that purpose. I decided to put the code online in 2017 after
having had to spend some time to convert it from earlier versions to Lua 5.3 from which the module()
function had been removed.
Features
For details see the included example.
- Embedded Lua code with the ltp engine.
- Advanced markdown features, including syntax highlighting of code blocks
and LaTeX mathematics via
markdown-it and KaTeX or Pandoc. Markdown-it is now the default renderer. To select lua-markdown, use
renderer: lua-markdown
in the page YAML meta section. Userenderer: pandoc
for Pandoc.
Installation
You need to install Lua 5.3 and LuaFileSystem, e.g. using LuaRocks):
$ luarocks install luafilesystem
To use markdown-it, you need to install NodeJS and then execute npm install
to install in the top directory of this project.
License
Aside from the included compat_env.lua
and the ltp engine (which is has not
updated to Lua 5.3, and requires on the compat_env module), the code is in
the public domain.
Downloads
lgen is available from its Mercurial repository. You may either use Mercurial to clone the entire repository or you may download a snapshot as a zip or tarball. To clone use the command
hg clone https://tuomov.iki.fi/repos/lgen/
Contributing, distributing, derivative works
If you would like to contribute to this project, simply clone the repository
and email me a hg bundle
of your changes.
This software may be redistributed and derivate works may be created under the terms of the Anti-abuse License.