Systatic is no longer in active development. Only bug fixes and security fixes will be released from now on.


Last updated on Nov 1, 2019.

Standard Configuration

Every site has a config.php file. It's the main place for configuration in Systatic.

A plain config.php file looks a bit like this:


return [
    'name' => 'Systatic',
    'url' => 'http://localhost:8080',

    'locations' => [
        'output' => './dist',
        'views' => './views',
        'storage' => './storage'

    'collections' => [
        'pages' => [
            'name' => 'Pages',
                'permalink' => '/',
                'location' => './content/pages'

Most of the file is pretty self explanatory.

The location array has the directory paths for your output, views and your storage.

The collections array sets down the collections you want to use within your Systatic site. You can read more about collections configuration here.

Changing the name of the config file

If you don't like the name of the config file, you can change that.

Open up your systatic file and change the value of the $config variable.


    Path to Config
    - A relative path to where your config file is located.

$config = './new-config-filename.php';


Environment variables

If you need use something that is specific to each environment or anything that you don't want to be put into keys, you can use environment variables.

All you need to do is create an .env file, and pop in some key, value pairs.


Then you can easilly refrence them in your templates like this:


If an .env file does not exist, we will fallback to a system environment variable for use on systems like Netlify where a file can't be created.