Main Features

Markdown Rendering

Hoedown is used internally to render Markdown into HTML. This makes MacDown’s live preview both efficient and very configurable. It also supports lots of non-standard syntactic features, including the very widely-used fenced code blocks with language identifiers. You can find all the available configurations in MacDown’s Preferences pane.

Markdown syntax preferences

Additional Rendering Tools

Rendering preferences

MacDown provides various tools that add additional processing to the rendered HTML, including:

  • TeX-like math syntax, including $$...$$, \\[...\\], \\(...\\), and (optionally) $...$ blocks.
  • GFM task lists.
  • Jekyll front-matter.

Syntax Highlighting

Syntax highlighting in fenced code blocks with language identifiers are rendered by Prism.

Syntax highlighting example

See Code Block Highlighting page for a complete list of syntax supported.

Contributing to the Language List

MacDown accepts pull requests on aliases to existing languages, but not new syntax highlighting rules. If you wish to provide additional language definitions and/or themes, please visit Prism’s project page and submit them there. I will include updates from Prism after your pull request is accepted.

Auto-completion

I am spoiled, as a programmer, by some pretty advanced auto-completion various IDEs offer. I implemented MacDown’s auto-completion to suit my own need. Hope it suits you too—or you can turn it off if you wish to.