Stati is a PHP static site generator designed to run existing Jekyll sites unchanged and produce the same static output using PHP instead of Ruby.
What is Stati?
Stati is a static site generator written in PHP that reads Jekyll projects — including _config.yml, collections, posts, and themes — and outputs static HTML. The project is hosted on GitHub by developer jfoucher and documented at stati.jfoucher.com. Its stated end goal is to accept any existing Jekyll site and generate the same results as Jekyll would.
Stati takes a Jekyll site's directory structure and configuration as input and produces static HTML files. It requires a PHP runtime, and optionally the scss and pygments command-line tools for SCSS conversion and code highlighting respectively.
Key Features
- Jekyll compatibility — Works with the Jekyll Documentation site and many Jekyll themes, reading the same _config.yml and content structure.
- Collections support — Generates all standard and custom collections defined in _config.yml.
- Pagination — Paginates posts and places paginated pages in the correct output locations.
- Symfony event-based plugin architecture — Plugins hook into Symfony events to extend the generation process.
- SCSS conversion — Converts .scss files automatically, requiring the scss executable to be available in your PATH.
- Code highlighting — Highlights code blocks via pygments, which must be installed and available in your PATH.
Who is it for?
- Jekyll users who prefer PHP — Run an existing Jekyll site with a PHP-based generator instead of the Ruby toolchain.
- Developers migrating to PHP build pipelines — Keep content and themes untouched while switching the build step to PHP.
- PHP developers building static sites — Extend generation through a plugin architecture based on Symfony events.
What can you do with Stati?
- Run an existing Jekyll site — Point Stati at a Jekyll project and generate static HTML without modifying the source files.
- Build custom collections — Define custom collections in _config.yml and have them output alongside posts.
- Automate SCSS and syntax highlighting — Use Stati to convert SCSS and highlight code during the build, provided the associated CLI tools are installed.
Pros and cons
- Pros: Works with existing Jekyll sites and themes; handles collections, pagination, SCSS conversion, and code highlighting; extensible via Symfony event plugins.
- Cons: Not fully Jekyll-compatible — lacks liquid filters (work in progress); slower than Jekyll on the first run, especially with many highlight blocks or scss/sass files.
Pricing
Stati is open source and free to use; the source code is available on GitHub.
Alternatives
- Jekyll — the Ruby-based static site generator that Stati aims to be compatible with.
- Hugo — a Go-based static site generator known for its speed.
FAQ
Is Stati free?
Yes, Stati is an open-source project hosted on GitHub. There are no paid tiers or commercial licenses, and you can use, modify, and contribute to the codebase freely.
Does Stati work with my existing Jekyll site?
Stati is designed to work with existing Jekyll sites and already runs with the Jekyll Documentation site and many Jekyll themes. However, compatibility is not complete — liquid filters are not yet supported, so some templates may need adjustment.
What do I need to install to use Stati?
You need PHP to run Stati. For SCSS conversion you also need the scss command-line tool, and for code highlighting you need pygments, both available in your PATH. These are optional; the generator works without them but skips those transformations.
Why is it called Stati?
The name comes from the fact that "static" is a reserved word in PHP, so the author chose "Stati" as a shortened, available alternative.
