A straight-forward and simple static site generator written in Nim
Move back to markdown, --gc:arc is too much work
Swap nim-markdown for slimdown for --gc:arc
Switch from docopt to argparse


browse  log 



You can also use your local clone with git send-email.

#dtt - Do The Thing

This is my attempt at writing a static site generator (because the world doesn't have enough of them apparently), because none of the others I've tried really suited my use-case of something that just does the thing I want.

I want a very simple and straight-forward workflow where I write some markdown inside the content/ folder, hit dtt build and the finished site pops out into output/. After running dtt init all you really have to do is edit some basics in the header.mustache and footer.mustache files (like page title, author name and email, etc.), write any markdown inside content/ and build it and you're done.

Changing the looks is done by editing the files inside templates/ after they're generated by the dtt init command, or by changing style.css inside the output dir. Markdown files are parsed and run through the mustache templating system, non-markdown files are copied as-is from content/ to output/.

Folder structure inside content/ is retained as well so you can just put your static assets in there however you want and reference them in your content/html files.

It's not done by a long-shot, so some things aren't working properly and some things are just not there yet. As of writing this (01 February 2020) pretty much all of the required functionality is there. It indexes blog posts properly, and you can use the template variables to put the latest post on your index page and have a page listing your blog archive from newest to oldest.

Still left todo is pagination for the blog index, but that's the last actual feature I think is really required. Anything else is just quality of life changes or extras. The tool is designed with simplicity in mind so there's a finite set of features I think should be in it, after which you're going into "use a different tool" territory.