Static site generator
Cyrax is a static site generator using Jinja2 template engine.
It’s inspired by Jekyll and Hyde site generators and started when I realized that I’m dissatisfied with both of them for different reasons. When I tried to come up with name I remembered my favourite character from Mortal Kombat 3 so here we go.
Well, it’s quite simple, as usually:
pip install cyrax
Cyrax depends on the Jinja2 template library, so you can install it through your OS package system (in other case pip will install it automatically).
Note, please, that in order to use parsers like markdown, or reST, or textile, corresponding libraries should be installed (either python-markdown or python-markdown2 are good enough for markdown).
Also it’s really easy to extend Cyrax, see an example.
Indeed something happens with each release and you are probably interested what (and too lazy to read changelog).
- support for globs in exclude in settings.cfg
- make Jinja2 do extension available in templates
- drop unused dependency on cherrypy
- make rst render start with h2 in inner sections
- rework RstPost a bit, removing nasty bugs with template caching
- nasty bug with circular dependecies
- forget to process tags in RstPost
- refactored module system, no more cyraxlib, only cyrax now exists
- completely refactored internal models system, now it uses usual inheritance instead of some strange composition (which means it’s easier to understand and to extend now)
- ability to write posts in reStructuredText (which as well could serve as an example to writing your own models).
- now most of urls generated on page (by function url_for) are relative to current page, which means that you mostly can view your site without using web-server (though you’ll need to click on index.html yourself :)
- some docs, heh. This part needs attention anyway