Blog Games GitHub Twitter
[ Haskell ]

on Nov 2, 2019

Microcosmos: A Tiny Blog


Microcosmos is a blog server. It really doesn’t do very much at all; it just does exactly the things I would want from a blog CMS.

Here’s the list of features:

How to use


Either download the latest binary release, or clone the repository and compile with the stack build tool.


To start mc, simply run the mc executable from the root of your blog.

The program is slightly opinionated about where things should be (although you can always symlink). It won’t run if it can’t find some template files at a minimum.

Hamlet files are like HTML files, but closing tags are omitted in favour of indentation based semantics, and they support variable interpolation.

By default, mc will render any file in posts as an HTML document, based on the filename. In other words, it determines the URI slug from the filepath. There is one main exception: home will be rendered both for and

Dotfiles are ignored and will not be rendered by mc.


You can provide limited metadata about your content in a preamble. Start a post with a hyphen-fenced block:

title: Microcosmos - a Tiny Blog
date: 2019-11-02 10:00

## About

Microcosmos is a ...

and the title and date will be appropriately reflected on posts and in directory listings. Without a preamble, the post will use the filename as the title, and the file’s modified time as the post date.

Known issues

Future work

[ Haskell ]