Introduction

A beginning is the time for taking the most delicate care that the balances are correct.

Frank Herbert, Dune (1965)

Mau is a lightweight markup language heavily inspired by Markdown and AsciiDoc that makes it a breeze to write blog posts or books. If you already know Markdown or AsciiDoc you already know which type of software Mau is, and you will quickly learn its syntax.

The main goal of Mau, however, is to provide a customisable markup language. While Mau's syntax is fixed by its implementation, its output is created through user-provided templates. This strategy gives the user great flexibility with no added complexity.

I currently use Mau to write posts for my blog The Digital Cat and to write books like Clean Architectures in Python. This documentation is also written using Mau.

As you can see, the system is production-ready, and you can start using it today.

Features

Mau's main features are

  • Simple markup syntax
  • A stand-alone implementation that you can run locally on any system that supports Python3
  • A plugin for Pelican that allows you to use Mau to write blog posts and website pages
  • Full support for a good range of standard HTML features (paragraphs, lists, headers, ...) and for some advanced ones such as admonitions, code callouts, includes, and footnotes.
  • Extremely configurable output using Jinja2 templates
  • PDF creation using TeX (since version 3)

Mau versions

This documentation covers Mau version 4.x.

Previous versions are not supported any more and won't receive any bug fixes.

How to contribute

Mau is completely open-source, so you can contribute to the Mau ecosystem opening issues and creating PRs. The main repositories can be found at https://github.com/Project-Mau. Contributions are more than welcome!

In particular, you might be interested in:

If you find Mau useful, please spread the word and share the link to this documentation.