It is a static site, based on staticjinja.
Your file directory structure is preserved. Binary files are directly copied, and the rest are passed through Jinja2.
I use a heavily customized build script (available here) to provide the following:
Allow using Jinja2 templates in markdown.
Provide globbing functions (accessible via Jinja2) to display lists of files.
Use a YAML site configuration file
Only render files based on modification times for speed (configurable).
To download use
git clone --recursive https://gitlab.com/gi1242/sjinja-www.git
--recursive, otherwise you will have to run
git submodule update --init to update the submodules.)
site.cfg and put in your URL / defaults.
Generate the site by running
build.py -h for options. Pass regexps on the command line to force re-rendering of certain files.
Generic Markdown syntax can be found here.
Site specific markdown extensions and macros can be found here.
The current layout and structure is described here. (You can ignore this if you plan to just write in Markdown, or want to create your own layouts from scratch.)
-wisn’t perfect. Any file you change is always re-rendered, but the dependencies and changes to meta-data are ignored. I’m not interested in fixing this. Re-running the build script (without
-w) renders everything correctly.