The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Qgoda

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

Qgoda Logo

Description

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 http://www.qgoda.net/.

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 https://www.docker.com/get-docker.

  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'

Contribute

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-2020 Guido Flohr , all rights reserved.

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