Introduction
A beginning is the time for taking the most delicate care that the balances are correct.
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:
- This documentation (Mau to HTML).
- The blog The Digital Cat (Mau to HTML).
- The book Clean Architectures in Python (Mau to PDF).
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:
- The core system: https://github.com/Project-Mau/mau
- The HTML visitor: https://github.com/Project-Mau/mau-html-visitor
- This documentation: https://github.com/Project-Mau/maubook
If you find Mau useful, please spread the word and share the link to this documentation.