Headers

How to create headers

Headers are document nodes created with one or more consecutive symbols =. The symbol is repeated to increase the level of the header. The higher the level, the deeper the header is nested.

Mau source code
= Header 1
== Header 2
=== Header 3
==== Header 4
===== Header 5
====== Header 6

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6

Maximum level

While HTML headers go up to level 6, Mau allows you to define headers of any level.

Mau source code
======== Header 8

This is a header of level 8, which is transformed into a `<h6>` by the current visitor and the template used for it.
Header 8

This is a header of level 8, which is transformed into a <h6> by the current visitor and the template used for it.

Headers and styles

While it's generally avoided for stylistic reasons, headers accept styled text just like paragraphs.

Mau source code
=== Header with `verbatim` and *strong* text

Header with verbatim and strong text

Labels and arguments

Headers support labels and arguments.

Mau source code
[arg1, arg2]
.details Some details
=== Header 3
The labels above will be attached to the header and shown next to it (thanks to a custom template).

Header 3 details=Some details

The labels above will be attached to the header and shown next to it (thanks to a custom template).

Control conditions

Headers also support control conditions.

Mau source code
:var:44

@if var==42
[arg1, arg2]
.details Some details
=== This header won't be rendered

=== This header won't receive arguments or labels

This header won't receive arguments or labels

Macro header

The macro header can create a link to an existing header in the document. First, the header must be given an internal unique name with the argument name. Then, in any paragraph (even multiple times) you can call the macro to generate a link.

Mau source code
[name=myheader]
=== This header has the name myheader

This paragraph contains a [header](myheader, "Link to the header") with some attached text.

This header has the name myheader

This paragraph contains a Link to the header with some attached text.

Macro header without text

When the macro header is called without passing an explicit text for the link, it uses the text of the header itself as text for the link.

Mau source code
[name=myheader]
=== This header has the name myheader

This paragraph contains a link to [header](myheader) with some attached text.

This header has the name myheader

This paragraph contains a link to This header has the name myheader with some attached text.