Stati

An extensible static site generator in PHP that can work with any existing jekyll site and get the same results.

Install

Option 1

If you already have composer installed, the easiest way to install stati is to just run this command:

composer global require stati/stati>=0.5.8

This will download and install Stati in the ~/.composer folder. Make sure ~/.composer/vendor/bin/ is in your $PATH so that you can run stati from anywhere on your filesystem.

Option 2

Alternatively, you can download the latest release

Make the file executable with chmod a+x ./stati (on Linux and MacOS)

If you want, you can then move it somewhere in your path (something like /usr/local/bin for example).

You can try copy/pasting the command below to do all of this in one easy step:

curl -o stati https://raw.githubusercontent.com/jfoucher/stati/0.5.8/build/stati && chmod a+x stati && mv stati /usr/local/bin/stati

Running

Once the install is complete, change to your website directory and run stati build to generate your site, or stati serve to serve it locally. You can also use stati s or stati b as shortcuts

Options

Both the generate and the serve command have the following options available:

The serve command has this additional option:

Requirements

If your highlight your code with {% highlight %} {% endhighlight %} blocks, you must have pygmentize in your path, i.e. install pygments globally

If you use sass or scss, the sass or scss commands must be available.

Plugins

Stati uses plugins extensively, even for some core functionality. Required plugins are installed automatically by composer, but if you want to install a specific plugin, you just have to run composer require stati/plugin-name or composer global require stati/plugin-name depending on whether you installed Stati locally or globally.

Alternatively, just copy the .phar file in the _plugins/ directory of your website, just like for Jekyll.

Contributing

Try Stati with your site and let me know what fails by opening an issue on Github.

The plugin architecture, based on the Symfony Event dispatcher, allows plugin authors to hook into various points in the site generation lifecycle to modify the output.

Please check the plugin documentation

Status

Build Status

I run Stati on themes I can find, mostly from jekyllthemes.org you can view the results on the Report page