Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Static website generator based on HTML element tree rewriting
Soupault is an open-source static site generator and HTML manipulation tool that works directly on the HTML element tree of each page instead of relying on Markdown files or front matter. It is written in OCaml, uses the lambdasoup library, and is maintained by the Pataphysical Society.
Soupault is an HTML manipulation tool and static site generator that operates on the HTML element tree of a page, taking HTML as input and producing modified HTML as output. It can inject new HTML into existing complete pages, create tables of contents from heading IDs, and extract metadata using CSS3 selectors defined in a TOML configuration file. The project is named after Philippe Soupault, a French dadaist writer, because it uses the lambdasoup library to parse and manipulate HTML.
Soupault is configured with a TOML file that defines the content model, processing rules, and index views. It processes every page in the site directory, evaluates CSS selectors to extract metadata, applies widgets and plugins, and writes the transformed HTML to an output directory.
Yes, Soupault is open source and free to use. Prebuilt binaries are available for Linux, Windows, and macOS, and the source can be installed through the OPAM package manager.
Soupault is an HTML manipulation tool and static site generator that works on the HTML element tree. It extracts metadata using CSS selectors, injects new HTML, builds tables of contents, and applies processing rules defined in a TOML configuration.
Download prebuilt statically-linked binaries for Linux (x86-64 and Aarch64), Windows, and macOS (x86-64) from files.baturin.org or GitHub releases. Alternatively, run opam install soupault after installing OCaml.
No. Soupault extracts metadata directly from HTML elements using CSS3 selectors, so hand-written HTML pages can be indexed without front matter blocks.
Yes, Soupault can pipe HTML elements through external programs via its preprocess-element widget, and it supports custom page preprocessors and asset processors such as Sass compilers or image optimizers.
