Version 10 is a significant rework: Bang, Ypp and Lsvg are now part
of the LuaX repository. Binaries are smaller and the build system is
faster. LuaSec and OpenSSL have been removed (use curl.http
instead).
LuaX-based Development Tools
TL;DR
The LuaX repository now contains some softwares that are closely
coupled with LuaX:
is an extended Lua 5.5 interpreter and
compiler. It enriches Lua with 20+ built-in modules (file system, shell,
cryptography, compression…) and can produce standalone cross-platform
executables. LuaX uses Lua tables as a universal data
format, allowing all tools in the ecosystem to share
configuration and data without any conversion glue.
is a Ninja build file generator
scriptable in LuaX. It turns readable LuaX build scripts into fast,
incremental Ninja build files, with built-in support for C/C++
compilation, cross-compilation, and common document processors.
is a generic text preprocessor driven by LuaX macros. It supports
variable expansion, file inclusion, diagram generation (Graphviz, PlantUML, Mermaid, Lsvg…) and Pandoc-based format conversion, and works
equally well with Pandoc and Typst documents.
is a LuaX-scriptable SVG image generator. It exposes a pure Lua library
covering all major SVG elements and can output SVG, PNG, JPEG or PDF. It
is used, for example, to generate the LuaX logo, and integrates
naturally with Ypp and Bang.
Other tools in the ecosystem
These tools extend the ecosystem and rely on LuaX as their scripting
foundation:
a Pandoc Lua filter
that processes documents at the AST level, adding templating, file
inclusion, diagram rendering and dependency tracking. Complements Ypp
for Pandoc-specific workflows.
a cross-language code generator: reads LuaX data definitions and emits
equivalent source code in C, Haskell, Shell, YAML, etc., keeping
constants in sync across a polyglot project.