On se bouge, on signe la pétition en masse :
— Non c’est Non, Monsieur Duplomb !
— Pour la santé, la sécurité, l’intelligence collective.

👨‍💻 about me home CV/Resume News 🖊️ Contact Codeberg Github LinkedIn 🏆 Best of LuaX (tools) pub bang ypp panda lsvg ldc yreq Fizzbuzz Calculadoira TPG picfg Belenos (intro) 🔀 Git Repos

Made in Europe

LuaX-based Development Tools

Important

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:

LuaX
The LuaX interpreter / compiler itself.
Bang
The LuaX build system that enhances Nina with some powerful Lua scripting capabilities.
Ypp
A generic text preprocessor used to build the LuaX documentation.
lsvg
An SVG image generator scriptable in LuaX used to generate the LuaX logo.

Installation

git clone https://codeberg.org/cdsoft/luax
cd luax
./build.lua
ninja install  # installs to ~/.local/bin and ~/.local/lib

Precompiled binaries for various platforms are also available at https://cdelord.fr/pub, but building from source is recommended.

Support

LuaX is free and open source. Contributions are welcome:

Donate using Liberapay Buy Me a Coffee at ko-fi.com

Feel free to promote LuaX!

Core tools

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.
Bang (Bang Automates Ninja Generation)
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.
Ypp (Yet a PreProcessor)
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.
Lsvg
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:

Panda
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.
Ldc
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.
Yreq
a lightweight requirement-tracking plugin for Ypp, providing traceability tags, coverage matrices and hyperlinks within technical documentation.

This site is powered by LuaX, bang, ypp, cdsoft.css and Pandoc.

Mirrors: cdelord.frchristophe.delord.free.frcdsoft.codeberg.page