Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

DSSG - A static site generator with a different approach

DSSG logo

Build Status


Unlike other static site generators, DSSG doesn't differentiate between front matter and a content section in its content files. This makes it very easy to create web pages based on templates with multiple content sections.

For maximum flexibility, each project can be based on multiple templates.

Content may be written in both Markdown or pure HTML.

How does it work?

DSSG creates HTML pages out of TOML files. Each TOML file represents one HTML page and consists of as many key-value pairs as you want.

The key-value pairs contain both metadata and the actual page content. There can be multiple key-value pairs with page content. If a key in your TOML file ends with _md, DSSG expects Markdown as value. DSSG will turn the Markdown into HTML.

Templates are written in the Mustache template language. DSSG substitues each variable in the template with its equivalent from the TOML file.

Why is it called DSSG?

DSSG is written in the D programming language. DSSG stands for D Static Site Generator.


The latest binaries are available on Currently, there are Ubuntu 16.04 and Windows 10 binaries.

Installation (Linux)

  1. After you have downloaded the software (see above), open a terminal and unzip the archive.

    $ unzip -d /this/is/your/dssg/path/
  2. Change to the directory that contains the DSSG binary and set the permissions so that you can execute the program.

    $ cd /this/is/your/dssg/path/
    $ chmod u+x dssg
  3. Add the directory that contains the DSSG binary to your PATH. Please refer to the documentation of your distribution for further details. Here is an example of how it works on Ubuntu with Bash.

    $ echo 'export PATH=$PATH:/this/is/your/dssg/path/' >> ~/.bashrc
    $ source ~/.bashrc

Installation (Windows)

  1. After you have downloaded the software (see above), open the PowerShell and unzip the archive.

    PS> Expand-Archive -Path -DestinationPath C:\this\is\your\dssg\path
  2. Add the directory that contains the DSSG binary to your Path.

    PS> [System.Environment]::SetEnvironmentVariable("Path", [System.Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User) + ";C:\this\is\your\dssg\path", [EnvironmentVariableTarget]::User)
  3. Restart the PowerShell.

Try the example

$ git clone
$ cd dssg-example
$ dssg build
$ dssg serve

Begin from scratch

$ dssg new myproject
$ cd myproject
// Create Mustache templates in 'contents/_templates'
// Create TOML files, CSS, JavaScript, images etc. in 'contents'
$ dssg build
$ dssg serve

Made with DSSG