-
-
Notifications
You must be signed in to change notification settings - Fork 6
Getting Started
Brett Terpstra edited this page Dec 15, 2025
·
2 revisions
This guide will help you get up and running with Apex quickly.
First, you'll need to build Apex from source. See the Installation guide for detailed instructions.
git clone https://github.com/ApexMarkdown/apex.git
cd apex
mkdir build && cd build
cmake ..
makeOnce built, you can convert Markdown to HTML:
# Basic conversion
./apex input.md > output.html
# Or pipe from stdin
echo "# Hello World" | ./apexApex supports multiple processor modes. The default is unified mode, which enables all features. You can also use specific modes for compatibility:
# Unified mode (default - all features)
apex document.md
# GFM mode (GitHub compatibility)
apex --mode gfm document.md
# Kramdown mode
apex --mode kramdown document.mdSee the Modes page for details on what's enabled in each mode.
apex document.md --standalone --title "My Document" --style styles.cssapex document.md --prettyapex document.md --no-idsRelaxed tables are enabled by default in unified and kramdown modes. They allow tables without separator rows:
one | two
1 | 2To disable:
apex document.md --no-relaxed-tables- Learn about all available syntax features
- Understand processor modes
- Explore command line options
- Check out the C API for programmatic use
Copyright 2025 Brett Terpstra, All Rights Reserved | MIT License
- Getting Started - Your first steps with Apex
- Installation - How to build and install Apex
- Usage - Basic usage examples
- Syntax - Complete syntax reference for unified mode
- Callouts - All supported callout formats and flag requirements
- Tables - Complete table syntax reference including rowspan, colspan, alignment, and captions
- Inline Attribute Lists - IALs and ALDs guide with examples
- Modes - Understanding processor modes
-
Quarto Mode - Pandoc/Quarto markdown (
--mode quarto) - Command Line Options - All CLI flags explained
-
Rendering Markdown in the Terminal - Terminal output formats (
-t terminal,-t terminal256),--width,--theme, and theming -
Generating Man Pages - Generate man pages from Markdown using
apex -t man -
Multi-file Documents - Combining multiple files with
--combine,--mmd-merge, and includes - Citations - Citations and bibliography guide
- Indices - Index generation with mmark and TextIndex syntax
-
Metadata Transforms - Transform metadata values with
[%key:transform] - Integrating with Pandoc - Use Apex with Pandoc for DOCX, PDF, and more
- Using Apex with Jekyll - Use the apex-ruby gem as Jekyll’s Markdown converter (untested; feedback welcome)
- Header IDs - How header IDs are generated
- C API - Programmatic API documentation
- Writing Tests - How to add tests for new features
- Xcode Integration - Using Apex in Xcode projects
- Examples - Practical usage examples
- Plugins - Plugin system, examples, and recipes
- Filters - AST filters (Pandoc-style JSON), examples, and usage
- Troubleshooting - Common issues and solutions
- Credits - Acknowledgments and links to related projects