Qgoda (pronounce: yagoda!) is an extensible static site generator.
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/.
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.
Qgoda uses Markdown and the Template Toolkit by default for processing content, although it is possible to change that.
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:
-
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.
-
Start Docker. You may want to start the docker daemon automatically. Check your vendor's documentation for that!
-
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". -
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:
- Corrections to the documentation. Please use the github repository issue tracker for errors that you have found.
- Translate Qgoda to your language. Please use the Qgoda issue tracker for getting in touch first.
- Contribute a new Qgoda theme! You can use one of the following github repositories for examples:
- Star qgoda's github repository. This will also push up Qgoda (and Perl and Template Toolkit) on Netlify's staticgen.com.
Copyright (C) 2016-2020 Guido Flohr guido.flohr@cantanea.com, all rights reserved.
Qgoda is available under the terms and conditions of the GNU General Public License version 3 or later.