Markus

Example

example shows a Markus snippet beside the page it renders, from one copy of the source.

example is for writing about Markus in Markus. It holds one fenced code block of Markus source and renders that source twice: as highlighted code and as a live preview. The two can never drift apart, because there is only one copy. Every example on this site is an example block.

The panes sit side by side when there is room and stack, source first, on narrow screens.

Attributes

Attribute Values Default
layout side-by-side, stacked side-by-side
title any text; a caption above the panes none
id any text; becomes the HTML id none

Side by side

The body is a single code fence. Use the markus (or md) info string so other Markdown renderers still show sensible code.

Markus

:::example
```markus
:::tip
The preview renders this source.
:::
```
:::

Preview

Markus

:::tip
The preview renders this source.
:::

Preview

Stacked, with a title

Use layout="stacked" when the preview needs the full width: card grids, two-up pairs, and wide tables collapse to one column inside a half-width pane.

Markus

:::example{layout="stacked" title="Three peer cards"}
```markus
:::card-grid{columns=3}
:::card{title="Parse"}
Read the source.
:::
:::card{title="Validate"}
Check every directive.
:::
:::card{title="Render"}
Emit semantic HTML.
:::
:::
```
:::

Preview

Three peer cards

Markus

:::card-grid{columns=3}
:::card{title="Parse"}
Read the source.
:::
:::card{title="Validate"}
Check every directive.
:::
:::card{title="Render"}
Emit semantic HTML.
:::
:::

Preview

Parse

Read the source.

Validate

Check every directive.

Render

Emit semantic HTML.

Code fences inside an example

When the snippet has its own code fence, give the outer fence more backticks.

Markus

:::example
````markus
```python
print("hello")
```
````
:::

Preview

Markus

```python
print("hello")
```

Preview

print("hello")

Rules