Why Another Static Site Generator?

As is evident in the sheer number of static site generators available (see StaticGen), everyone's got an opinion as to how to build a static site generator, and what sorts of conventions to favour over configuration. Beyond the desire to make stuff, why build another one?

Most popular static site generators, like Jekyll or Pelican, are generally geared towards building blogs. Their taxonomies include terms such as Articles, Pages, Tags and Categories. This is great if you're building a blog or a small site with a few pages, but what if you want to do something a little more custom? Or what if you want to come up with your own taxonomy and way of organising your content? There are ways you can "force-fit" your taxonomy to those provided, such as clever usage of the Tags and Categories concepts, or you may need to go as far as building your own plugins for your generator.

Hugo, for example, is great for defining custom taxonomies, but it's still quite an involved process when you come from a background where you have experience in building relational databases and keep thinking to yourself: "If only I could just define my own relational data model here, I'd be able to ..."

That's where Statik comes in. For example, if you wanted a Post model, you'd define it yourself:

# models/Post.yml title: String slug: String summary: Text date: DateTime content: Content

Is your curiosity piqued at all? If so, read on, and check out the documentation for more details.