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 A Static Website?

Minimalist design reduces maintenance headaches.

How To Install It

python3 install

How To Use It

Usage <markdown file(s)>


-h --help             Show help.
-b --blog             Build blog files.
-C --clean            Delete distribution directory.
-s --static           Path to static directories (javascript, css).
-t --template         Path to page template file.

A small demonstration project is in the demo directory.


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

How To Get It

The project page is at Download the source code at

Release History

[2.0] - 2020-06-27

[1.4] - 2019-08-09

[1.3] - 2018-10-26

[1.2] - 2018-10-04

[1.1.1] - 2018-07-25

[1.1] - 2018-04-25

[1.0] - 2017-06-01


MIT license.

Contact Me

Bug reports and patches can be sent to