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. Mau syntax is translated into an AST (Abstract Syntax Tree) just like a programming language, and rendered into its output through user-provided templates.

This strategy means that Mau provides the following features:

  • Multiple output formats from the same source (HTML, PDF, ...).
  • Highly customisable output through Jinja templates.

Examples

You can see actual examples of rendered Mau documents in the following works:

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

Features

Mau's main features are

  • Simple text-based 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.
  • Extremely configurable output using Jinja2 templates.
  • A plugin system that allows to easily create new output formats.
  • A plugin for HTML output.
  • A plugin for TeX output (since version 3) that can then be compiled into PDF.

Mau versions

This documentation covers Mau version 5.x.

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

Mau version 5 changed some parts of the Mau syntax in a non-backward compatible way. A section of this documentation will provide a good overview of the major changes.

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.