Formatting Guide

Everything you can do with GrimoirePrint — with examples.

Headings

Use # symbols for hierarchical headings. Each level gets distinct styling in the D&D theme.

# Chapter Title ## Section Heading ### Subsection #### Minor Heading
Chapter Title
Section Heading
Subsection
Minor Heading

Text Formatting

Standard Markdown inline formatting is fully supported.

**Bold text** for important things *Italic text* for flavour `inline code` for game mechanics --- for horizontal rules

Bold text for important things

Italic text for flavour

inline code for game mechanics


Tables

Pipe-delimited tables with alignment support. Use :---: for center, ---: for right.

| d4 | Creature | CR | |----|------------|:---:| | 1 | Fire Snake | 1 | | 2 | Mephit | 1/2 | | 3 | Salamander | 5 |
d4 Creature CR
1 Fire Snake 1
2 Mephit 1/2
3 Salamander 5

Read Aloud

Dramatic narration text for reading to players. Renders as a parchment-styled italic box with a gold border.

> [!READ] > The tavern door creaks open > revealing a hooded figure > silhouetted against the storm.
Read Aloud
The tavern door creaks open revealing a hooded figure silhouetted against the storm.

DM Notes

Dark sidebar callouts for DM-only information. Perfect for keeping secrets organized.

> [!DM] > The hooded figure is actually > Kezreth in disguise. He will > attempt to poison the party.
DM Notes
The hooded figure is actually Kezreth in disguise. He will attempt to poison the party.

Stat Blocks

Monster Manual-style stat blocks with gradient borders, horizontal rules, and inline ability score tables.

> [!STAT] > **Goblin Boss** > *Small Humanoid, Neutral Evil* > --- > **AC** 17 (chain mail) > **HP** 21 (6d6) > **Speed** 30 ft.
Stat Block
Goblin Boss
Small Humanoid, Neutral Evil
AC 17 (chain mail)
HP 21 (6d6)
Speed 30 ft.
Tip: Add an image inside a stat block with <!-- img: images/goblin.png --> — the image will float to the right.

Loot & Treasure

Gold-bordered treasure boxes for listing rewards and loot drops.

> [!LOOT] > - Crown of the Mountain King > - Flame Tongue Greatsword > - 15,000 gp in mixed coinage > - 3 rubies worth 1,000 gp
Treasure
  • Crown of the Mountain King
  • Flame Tongue Greatsword
  • 15,000 gp in mixed coinage
  • 3 rubies worth 1,000 gp

Skill Checks

Green-accented callout for ability checks and skill challenges.

> [!SKILL] > **DC 15 Perception** to spot > the hidden exit. > **DC 18 Stealth** to approach > without waking the dragon.
Skill Check
DC 15 Perception to spot the hidden exit.
DC 18 Stealth to approach without waking the dragon.

Traps & Hazards

Red-bordered callout for traps and environmental hazards. Visually distinct from regular narration.

> [!TRAP] > **Poison Dart Corridor** > DC 15 Perception to spot. > DC 13 Dex save or 2d6 poison.
Trap / Hazard
Poison Dart Corridor
DC 15 Perception to spot. DC 13 Dex save or 2d6 poison.

NPC Quick Reference

Purple-accented callout for NPC profiles — lighter weight than a full stat block.

> [!NPC] > **Marta Holloway** > *Human innkeeper, 50s* > **Wants:** Clear the cellar goblins. > **Secret:** Zhentarim fence.
NPC
Marta Holloway
Human innkeeper, 50s
Wants: Clear the cellar goblins.
Secret: Zhentarim fence.

Quest Hooks

Amber-highlighted callout for quest objectives — scannable at a glance during play.

> [!QUEST] > **The Missing Caravan** > 200gp for information about > three missing caravans.
Quest
The Missing Caravan
200gp for information about three missing caravans.

Area Keys

Brown dashed-border callout for keyed location descriptions.

> [!MAP] > **3. Guard Barracks** > 15×20 ft. Three bunks, a > weapon rack, and a locked > chest (DC 12).
Area Key
3. Guard Barracks
15×20 ft. Three bunks, a weapon rack, and a locked chest (DC 12).

Dialogue

Italic speech-styled callout for scripted NPC dialogue, distinct from read-aloud narration.

> [!DIALOGUE] > **Kezreth:** "You think you > can bargain with me?"
Dialogue
Kezreth: "You think you can bargain with me?"

General Alerts

GitHub-style alerts for notes, tips, warnings, cautions, and important information. Useful for both D&D and general-purpose documents.

> [!NOTE] > Background context. > [!TIP] > Best practice or optimization. > [!WARNING] > Potential problems. > [!CAUTION] > High-risk action warning. > [!IMPORTANT] > Essential requirement.
Note
Background context.
Tip
Best practice or optimization.
Warning
Potential problems.
Caution
High-risk action warning.
Important
Essential requirement.

Aside / Sidebar

Inset panel for lore, history, or world-building context that enriches but isn't essential to the scene.

> [!ASIDE] > **The Feywild Accords** > In 1247 DR, the Courts > signed a fragile treaty...
Aside
The Feywild Accords
In 1247 DR, the Courts signed a fragile treaty...

Roll Tables

Themed wrapper for random encounter or roll tables with a distinct header.

> [!TABLE] > **Wild Magic (d6)** > | Roll | Effect | > |------|--------| > | 1-2 | Turn blue | > | 3-4 | Potted plant | > | 5-6 | Fireball on self |
Roll Table
Wild Magic (d6)

Banners

Full-width dramatic chapter or act banners with large, centered typography.

> [!BANNER] > # Act II: The Descent > *Into the Underdark...*
Act II: The Descent
Into the Underdark...

Page Breaks

Force an explicit page break at any point in your document.

<!-- pagebreak -->
⬇ Page break inserted here ⬇

Column Toggle

Switch between 1-column and 2-column layout mid-document.

<!-- cols: 1 --> Full-width content here... <!-- cols: 2 --> Back to two-column layout.
Column layout switches inline

Section Backgrounds

Add atmospheric background images to any section using an HTML comment after a heading.

## Chapter 1: The Tavern <!-- bg: images/tavern.png --> Content here appears over a faded background watermark...
Chapter 1: The Tavern

Content here appears over a faded background watermark…

14 built-in backgrounds: Parchment, Tavern, Scroll, Desk, Coast Map, Ornate, Dungeon, Forest, Ocean, Castle, Mountain, Desert, Library, Hell, and more.

Two-Column Layout

Use the 2 Col option (or --columns 2 in CLI) for a newspaper-style layout. Section headings and tables automatically span both columns.

./mdprint --columns 2 notes.md Or select "2 Col" in the web UI. Headings (##) and tables span both columns. Add WIDE to any callout: > [!LOOT WIDE] > - Items spanning both cols
The Dragon's Lair

The ancient wyrm stirs in its mountain stronghold. Your party must brave the scorching tunnels.

Gold coins carpet the floor in drifts, and atop the glittering hoard, a single enormous eye opens.

Sections & Tabs

Each ## Heading starts a new section with a coloured tab on the right margin, automatic page break, and a drop cap on the first paragraph.

## Chapter 1: The Tavern The weary adventurers push open the oak door... ## Chapter 2: The Dungeon Below the city, ancient tunnels snake through damp stone...
Chapter 1: The Tavern

The weary adventurers push open the oak door…

Chapter 2: The Dungeon

Below the city, ancient tunnels…

Wide Callouts

In two-column mode, add WIDE after the callout type to span the full page width.

> [!LOOT WIDE] > - Treasure that spans both cols > - Crown of the Mountain King > [!READ WIDE] > A deep rumbling shakes the > entire cavern...
Treasure — Wide
  • Treasure that spans both cols
  • Crown of the Mountain King

Footnotes

Add footnote references inline and definitions at the bottom. Works with all themes.

The Feywild[^1] is a plane of wild magic and primal beauty. [^1]: Also known as the Plane of Faerie.

The Feywild[1] is a plane of wild magic and primal beauty.


  1. Also known as the Plane of Faerie.

Highlighted Text

Mark important text with a warm highlight. Works with all themes.

The password is ==swordfish== — don't share it.

The password is swordfish — don’t share it.

Definition Lists

Term-and-definition pairs for glossaries, rules references, and technical docs.

Armor Class : How hard a creature is to hit. Hit Points : How much damage a creature can take.
Armor Class
How hard a creature is to hit.
Hit Points
How much damage a creature can take.

Smart Typography

Automatic typographic improvements for professional output. Applied to all themes.

"Hello" -- she said... It's a brand-new --- era.

“Hello” – she said…
It’s a brand-new — era.

Converts: "quotes" → “curly”, -- → –, --- → —, ... → …, don't → don’t

Quick Reference

All supported formatting commands at a glance.

Feature Syntax Description
Read Aloud > [!READ] Parchment italic box for narration
DM Notes > [!DM] Dark sidebar for DM secrets
Stat Block > [!STAT] Monster Manual-style stat block
Treasure > [!LOOT] Gold-bordered loot box
Skill Check > [!SKILL] Green-bordered check callout
Wide Mode > [!TYPE WIDE] Span both columns (2-col mode)
Background <!-- bg: path --> Section background image
Stat Image <!-- img: path --> Floating image in stat block
Trap > [!TRAP] Red danger border for traps/hazards
NPC > [!NPC] Purple-accented NPC quick reference
Quest > [!QUEST] Amber quest hook/objective
Area Key > [!MAP] Dashed brown keyed location
Dialogue > [!DIALOGUE] Italic speech / NPC dialogue
Note > [!NOTE] Blue info note (GitHub-style)
Tip > [!TIP] Green tip/best practice
Warning > [!WARNING] Orange warning alert
Caution > [!CAUTION] Red high-risk caution
Important > [!IMPORTANT] Purple essential info
Aside > [!ASIDE] Sidebar/lore inset panel
Roll Table > [!TABLE] Themed roll table wrapper
Banner > [!BANNER] Full-width dramatic chapter banner
Page Break <!-- pagebreak --> Force an explicit page break
Column Toggle <!-- cols: 1 --> Switch to single/two column layout
Headings # to ###### Six levels, themed typography
Tables | col | col | Pipe tables with alignment
Bold **text** Strong emphasis
Italic *text* Emphasis / flavour text
Code `text` Inline monospace
H. Rule --- Horizontal rule / divider
Lists - item / 1. item Bullet and numbered lists
Footnotes text[^1] / [^1]: note Numbered footnotes with back-references
Highlight ==text== Highlighted / marked text
Def. List Term\n: Definition Term & definition pairs
Smart Type Automatic Curly quotes, em/en dashes, ellipses
⚔️ Start Converting