Skip to content
Brett Terpstra edited this page Jun 21, 2026 · 7 revisions

Processor Modes

Apex supports multiple processor modes, each optimized for compatibility with different Markdown flavors.

Overview

Mode Description Default ID Format
unified All features enabled GFM
gfm GitHub Flavored Markdown GFM
mmd MultiMarkdown compatibility MultiMarkdown
kramdown Kramdown compatibility Kramdown
commonmark Pure CommonMark spec GFM

Unified Mode (Default)

Command: apex document.md or apex --mode unified document.md

Unified mode enables all features from all other modes. This is the default mode.

Enabled Features

  • ✅ Tables (GFM style)
  • ✅ Strikethrough (~~text~~)
  • ✅ Task lists (- [ ] and - [x])
  • ✅ Autolinks (URLs and emails)
  • ✅ Footnotes (reference and inline styles)
  • ✅ Definition lists
  • ✅ Smart typography
  • ✅ Math support ($inline$ and $$display$$)
  • ✅ Superscript and subscript (x^2^, H~2~O)
  • ✅ Wiki links ([[Page]]) - Requires --wikilinks flag (disabled by default)
  • ✅ Critic Markup
  • ✅ Callouts
  • ✅ File includes
  • ✅ Metadata blocks (YAML, MMD, Pandoc)
  • ✅ Metadata variables ([%key]) - See Metadata Transforms for transform syntax
  • ✅ Abbreviations
  • ✅ Inline Attribute Lists (IAL), including fenced divs and bracketed spans
  • ✅ Relaxed tables (default)
  • ✅ Grid tables (Pandoc +---+ syntax) - --grid-tables to enable, --no-grid-tables to disable (off by default)
  • ✅ GitHub Emoji / emoji autocorrect (:emoji_name:)
  • ✅ Image captions from Markdown image syntax (wrap images with title/alt in <figure>/<figcaption>)

ID Format

  • Default: GFM format
  • Can be overridden with --id-format

GFM Mode

Command: apex --mode gfm document.md

GitHub Flavored Markdown compatibility mode.

Enabled Features

  • ✅ Tables
  • ✅ Strikethrough
  • ✅ Task lists
  • ✅ Autolinks
  • ✅ Hard line breaks (newlines become <br>)

Disabled Features

  • ❌ Footnotes
  • ❌ Definition lists
  • ❌ Smart typography
  • ❌ Math
  • ❌ Wiki links
  • ❌ Critic Markup
  • ❌ Callouts
  • ❌ File includes
  • ❌ Metadata
  • ❌ Abbreviations
  • ❌ IAL
  • ❌ Relaxed tables

ID Format

  • GFM format (cannot be changed)

MultiMarkdown Mode

Command: apex --mode mmd document.md or apex --mode multimarkdown document.md

MultiMarkdown compatibility mode.

Enabled Features

  • ✅ Tables
  • ✅ Footnotes (reference style)
  • ✅ Definition lists
  • ✅ Smart typography
  • ✅ Math support
  • ✅ Metadata blocks (YAML, MMD, Pandoc)
  • ✅ Metadata variables ([%key]) - See Metadata Transforms for transform syntax
  • ✅ Abbreviations
  • ✅ File includes
  • ✅ Image captions from Markdown image syntax (wrap images with title/alt in <figure>/<figcaption>)

Disabled Features

  • ❌ Strikethrough
  • ❌ Task lists
  • ❌ Wiki links
  • ❌ Critic Markup
  • ❌ Callouts
  • ❌ IAL
  • ❌ Relaxed tables

ID Format

  • MultiMarkdown format (cannot be changed)

Kramdown Mode

Command: apex --mode kramdown document.md

Kramdown compatibility mode.

Enabled Features

  • ✅ Tables
  • ✅ Footnotes (reference and inline styles)
  • ✅ Definition lists
  • ✅ Smart typography
  • ✅ Math support
  • ✅ Inline Attribute Lists (IAL)
  • ✅ Abbreviations
  • ✅ Relaxed tables (default)

Disabled Features

  • ❌ Strikethrough
  • ❌ Task lists
  • ❌ Wiki links
  • ❌ Critic Markup
  • ❌ Callouts
  • ❌ File includes
  • ❌ Metadata
  • ❌ Autolinks

ID Format

  • Kramdown format (cannot be changed)

CommonMark Mode

Command: apex --mode commonmark document.md

Pure CommonMark specification compliance. No extensions.

Enabled Features

  • ✅ Basic Markdown only (headers, lists, emphasis, links, code, blockquotes, etc.)

Disabled Features

  • ❌ All extensions (tables, footnotes, etc.)

ID Format

  • GFM format (for consistency)

Feature Comparison Table

Feature Unified GFM MMD Kramdown CommonMark
Tables
Strikethrough
Task Lists
Footnotes
Definition Lists
Smart Typography
Math
Wiki Links ✅*
Critic Markup
Callouts
File Includes
Metadata
Abbreviations
IAL
Relaxed Tables
Image Captions

* Wiki links are available in unified mode but disabled by default. Use --wikilinks to enable.

Choosing a Mode

  • Unified - Use when you want all features or need compatibility with multiple Markdown flavors
  • GFM - Use for GitHub compatibility or when publishing to GitHub
  • MMD - Use for MultiMarkdown compatibility or when you need metadata
  • Kramdown - Use for Kramdown compatibility or when you need IAL attributes
  • CommonMark - Use for strict CommonMark compliance or minimal output

Overriding Mode Defaults

In unified mode, you can enable or disable specific features:

# Unified mode but disable footnotes
apex --mode unified --no-footnotes document.md

# Unified mode but disable math
apex --mode unified --no-math document.md

# Enable wiki links (disabled by default)
apex --mode unified --wikilinks document.md

Related

Quick Links

Clone this wiki locally