A Python script for building static HTML websites from Markdown text files, using the Mako template engine. Excellent support for blogs: allows YAML metadata in the blog markdown files, can create an Atom-compatible RSS feed.

Why use it?

Minimalist design reduces maintenance headaches.

How to install it

pip3 install thera

How to use it <markdown file(s)>


-h --help             Show help.
-b --blog             Build blog files.
-c --config           Configuration file path.
-C --clean            Delete distribution directory.
-s --static           Static directories paths (javascript, css).
-t --template         Page template file path.


YAML can be used in the markdown files:

Title: Hello world
Date: 09 Apr 2018 07:00 AM -0400
Slug: hello
Summary: A new blog for tech, business, and other oddments.
Hello. This is a new blog with a focus on tech and business.

Note: To generate an RSS feed the YAML date must include the offset from Coordinated Universal Time (UTC). In the example above, the offset is -0400.

Template tags

Blog RSS XML page

Blog archive page: a list of articles

All other pages


MIT License.

Contact me

Send bug reports and patches to