Skip to content
Qgoda (pronounce: yagoda!) is an extensible static site generator with arbitrary taxonomies and cross-links and a strong focus on multilanguage facilities.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

GPL-3.0 Price Travis (.org) Coverage Status Twitter Follow


Qgoda (pronounce: yagoda!) is an extensible static site generator.

Qgoda Logo


Qgoda is considered feature-complete and ready for beta testing. Incompatible changes will try to be avoided but are possible.

The documentation is currently being written. You can check out the current state at

Main Features

Qgoda is comparable to Jekyll or Hugo but with a strong focus on:

  • Flexible site structures with arbitrary taxonomies.
  • Listings with pagination for arbitrary taxonomies and filters.
  • Extensibility with plug-ins written in Perl, Python, Ruby, or Java.
  • Built-in multi-language features based on GNU gettext, both for template code and --- optionally --- for content.
  • Integration of tools from the NodeJS eco system such as npm, yarn, webpack, Gulp, Browsersync, PostCSS, ...
  • Integration of arbitrary other tools and helpers.

Template Languages

Qgoda uses Markdown and the Template Toolkit by default for processing content, although it is possible to change that.

Run Qgoda in Docker Container

Due to missing dependencies, you may have problems installing and running Qgoda on your platform (especially on Microsoft Windows systems). You can instead try using a Qgoda Docker image:

  1. Install Docker. On Linux/Unix systems, Docker will be available from your package manager. On Mac OS X you can install Docker with Mac Ports or Homebrew. On Windows, get a pre-compiled binary from

  2. Start Docker. You may want to start the docker daemon automatically. Check your vendor's documentation for that!

  3. In a shell, run docker run --rm -it -v $(pwd):/data gflohr/qgoda.
    You may have to add the user that runs the command to the group "docker" if you get an error like "permission denied".

  4. You may want to create an alias, so that you do not have to type in the Docker commands all the time. Depending on your operating system, you have to open ~/.bash_profile, ~/.bashrc, ~/.alias, ~/.zshrc or similar and add this line:

alias qgoda='docker run --rm -it -v $(pwd):/data gflohr/qgoda'


Qgoda uses Github as the collaboration platform. Fork the Qgoda repository and send a pull request with your changes.

Apart from adding or fixing Perl code, the following contributions are welcome:


Copyright (C) 2016-2018 Guido Flohr, all rights reserved.

Qgoda is available under the terms and conditions of the GNU General Public License version 3 or later.

You can’t perform that action at this time.