Dialects

Dialects.

Reference entries for Markdown dialects, platform formats, specifications, and publishing systems.

Index

Index.

Group

Origin and reference

The original syntax, project page, and implementation that later dialects had to interpret.

2004 Original syntax and project John Gruber, with early collaboration from Aaron Swartz

Original Markdown

Role
The starting point: a readable plain-text writing syntax for web prose, distributed with documentation and a text-to-HTML tool.
Relationship
Later dialects usually define themselves by preserving, clarifying, or extending this original syntax.
Key features
  • Readable plain-text source
  • HTML output
  • Inline HTML for unsupported markup
  • Email-influenced block quotes, lists, links, emphasis, and code
2004 Reference implementation John Gruber

Markdown.pl

Role
The original Perl text-to-HTML implementation distributed with Markdown.
Relationship
Many later implementers treated Markdown.pl behavior as a reference point, especially where the prose documentation left edge cases open.
Key features
  • Perl implementation
  • Text-to-HTML conversion
  • Movable Type and Blosxom publishing context
  • Markdown 1.0.1 as the widely cited original release

Group

Document extensions

Dialects that add structures for longer documents and multi-format output.

2005 Extension dialect Michel Fortin

PHP Markdown Extra

Role
A PHP Markdown extension that adds document-oriented features.
Relationship
Builds on Markdown while adding document features that original Markdown did not cover.
Key features
  • Tables
  • Footnotes
  • Definition lists
  • Fenced code blocks
  • Markdown inside HTML blocks
2006 onward Conversion and publishing dialect John MacFarlane and contributors

Pandoc Markdown

Role
A Markdown variant inside Pandoc, a document converter for multi-format publishing.
Relationship
Treats Markdown as one input format among many, while extending it for scholarly and technical documents.
Key features
  • Multiple Markdown variants
  • Citations
  • Tables
  • Footnotes
  • Math
  • Conversion to many output formats

Group

Specifications and platforms

Specification work and platform dialects with documented behavior.

2014 onward Formal specification CommonMark project

CommonMark

Role
A strongly defined specification of Markdown-compatible syntax, with examples and tests.
Relationship
Clarifies many ambiguities in original Markdown while aiming to remain compatible with common existing practice.
Key features
  • Formal grammar-oriented specification
  • Examples and test cases
  • Reference implementations
  • A compatibility target for later dialects
2009 onward; formal spec in 2017 Platform dialect GitHub

GitHub Flavored Markdown

Role
GitHub's Markdown dialect for user content, later formalized as a CommonMark-based specification.
Relationship
Extends CommonMark with features useful for software collaboration and issue-based discussion.
Key features
  • Tables
  • Task list items
  • Strikethrough
  • Autolinks
  • Disallowed raw HTML behavior
2008 onward Community platform dialect Stack Overflow

Stack Overflow Markdown

Role
A Markdown-derived formatting system shaped by programming Q&A, code examples, and real-time preview needs.
Relationship
Adapts Markdown for code-heavy discussion before and after CommonMark.
Key features
  • Code blocks and inline code
  • Limited HTML
  • Platform-specific formatting help
  • CommonMark-related behavior in current documentation

Group

Publishing, computation, and notes

Markdown-based systems for executable documents, components, and notes.

2012 onward Computational document format RStudio / Posit ecosystem

R Markdown

Role
A format and workflow that combines Markdown prose with executable R code and generated output.
Relationship
Uses Markdown in reproducible research, reports, notebooks, and data analysis.
Key features
  • Prose plus executable code
  • Reports and notebooks
  • R ecosystem integration
  • Multiple output formats
2022 onward Scientific and technical publishing Posit

Quarto

Role
A Pandoc-based publishing system presented as the next generation of R Markdown.
Relationship
Extends the Markdown-plus-computation lineage across multiple languages and publishing targets.
Key features
  • Markdown and Jupyter notebook authoring
  • Python, R, Julia, and Observable support
  • Scientific and technical publishing
  • Multiple output formats
2018-2019 onward Component publishing MDX contributors

MDX

Role
A format that combines Markdown with JSX, JavaScript expressions, and module imports or exports.
Relationship
Uses Markdown in component-based front-end publishing and interactive documentation.
Key features
  • Markdown plus JSX
  • Components inside prose
  • JavaScript expressions
  • ESM imports and exports

Feature matrix

Feature lookup.

Feature support across Markdown dialects and Markdown-based systems.

Feature Original Extra MultiMarkdown Pandoc CommonMark GFM R Markdown Quarto MDX Obsidian
Tables A common document feature outside original Markdown. No Not in original syntax. Native Part of Markdown Extra. Native Document feature. Native Several table forms. No Not in the core spec. Native Formal GFM extension. Native Via Pandoc workflow. Native Via Pandoc workflow. Depends Usually via plugins. Native Supported in app syntax.
Footnotes A sign that Markdown is being used for longer prose. No Not in original syntax. Native Part of Markdown Extra. Native Core document feature. Native Supported extension. No Not in the core spec. Partial GitHub supports them; not in 0.29-gfm. Native Via Pandoc workflow. Native Via Pandoc workflow. Depends Usually via remark plugins. Native Supported in app syntax.
Task Lists A platform feature for issue, task, and comment workflows. No Not in original syntax. No Not a Markdown Extra feature. No Not a core MMD feature. Extension Available as an extension. No Not in the core spec. Native Formal GFM extension. Depends Depends on output pipeline. Depends Depends on output pipeline. Depends Usually via GFM plugins. Native Supported in notes.
Fenced Code Blocks A cleaner code-block form for technical writing. No Indented code only. Native Documented extension. Native Supported in MMD. Native Supported extension. Native Part of CommonMark. Native Inherited from CommonMark. Native Code chunks use fences. Native Code cells use fences. Native Markdown code fences. Native Supported in notes.
Math Used by technical and scientific writing workflows. No Not in original syntax. No Not a core feature. Native Supported by MMD. Native Math extensions. No Not in the core spec. Partial GitHub platform feature, not 0.29-gfm. Native Common report feature. Native Common publishing feature. Depends Usually via plugins. Native Supported in notes.
Citations Connects Markdown to academic and publishing workflows. No Not in original syntax. No Not a core feature. Native Supported by MMD. Native Pandoc citations. No Not in the core spec. No Not a GFM feature. Native Via Pandoc citations. Native Via Pandoc citations. Depends Requires tooling. Depends Usually plugin-based.
Metadata Turns a text file into a publishable document unit. No Not in original syntax. No Not a core feature. Native Document metadata. Native YAML metadata blocks. No Not in the core spec. No Not user-content GFM. Native YAML front matter. Native YAML front matter. Depends Integration-dependent. Native Properties/front matter.
Components / JSX Used by component-based web publishing. No Not in original syntax. No Not a Markdown Extra feature. No Not a core MMD feature. No Not a Pandoc Markdown feature. No Not in the core spec. No Not a GFM feature. No Not the model. No Uses shortcodes/filters, not JSX. Native The defining feature. No Not app syntax.
Executable Code Used by reproducible computation workflows. No Code is displayed, not run. No Code is displayed, not run. No Code is displayed, not run. Depends Requires filters or tools. No Code is displayed, not run. No Code is displayed, not run. Native Code chunks execute. Native Code cells execute. Partial Expressions run in app context. Depends Usually plugin-based.
Internal Links / Backlinks Used by knowledge-base and note-taking workflows. Partial Links exist; backlinks do not. Partial Links exist; backlinks do not. Partial Cross-references, not backlinks. Partial Identifiers and cross-links. Partial Links exist; backlinks do not. Partial Autolinks and references. Depends Bookdown-style workflows. Partial Cross-references and links. Depends Routing/framework-dependent. Native A defining app feature.
Formal Spec / Tests Indicates whether behavior is specified or testable. Partial Docs plus implementation. Partial Documented behavior. Partial Documented behavior. Partial Manual and implementation. Native Spec, examples, tests. Native CommonMark-based spec. Partial Tool documentation. Partial Tool documentation. Partial Syntax docs and tooling. Partial Product documentation.

Native means the feature belongs to that dialect or system directly. Extension means it is available as an explicit extension. Partial means related behavior exists but should not be treated as full feature parity. Depends means renderer, plugin, or project configuration matters.