Sources

Sources.

Original project pages, specifications, release notes, RFCs, and author-written accounts. Secondary sources are grouped separately.

Index

Groups.

Core primary sources

1992-01-06 Adam C. Engst Primary source for Setext context

Context: Records the structure-enhanced text format used by TidBITS, a pre-Markdown plain-text format later cited in Markdown syntax documentation.

Documented points
  • Setext appears before Markdown.
  • The format was used for online plain-text publication.
  • Markdown syntax documentation later names Setext as an influence and uses the term Setext-style headings.
Undated Textile Language Development Team Official/current documentation

Context: Documents Textile syntax and current project behavior.

Documented points
  • Textile remains a documented lightweight markup language.
  • Current Textile features overlap with features later found in Markdown dialects.
2004-03-11 snapshot; page lists 2004-03-09 download John Gruber Archived project page source

Context: Early archived source for the Markdown project page, including the Markdown 1.0b1 download date.

Documented points
  • The archived page lists Markdown 1.0b1 as a download dated 2004-03-09.
  • The page describes Markdown as both syntax and a Perl software tool.
  • The page links the project page to syntax, license, Dingus, and discussion-list material.
  • The snapshot predates the 2004-03-15 Daring Fireball weblog announcement.
2004-03-19 John Gruber Author post

Context: Documents Gruber's explanation of Markdown's source-text and HTML-output model.

Documented points
  • Markdown source text was designed to be readable as plain text.
  • Markdown output was framed around HTML.
  • Markdown was presented as complementary to HTML rather than as a replacement for it.
2004, maintained page John Gruber Official project page

Context: Project page with download, overview, installation notes, license note, and acknowledgements.

Documented points
  • Markdown is presented as both syntax and Perl software.
  • Markdown's design goal emphasized readability.
  • The page credits Aaron Swartz for ideas, feedback, testing, and html2text.
  • The download page lists Markdown 1.0.1 by 2004-12-17.
2004, maintained page John Gruber Official syntax documentation

Context: Original syntax documentation for Markdown.

Documented points
  • The syntax page states readability as a design goal.
  • The syntax page lists plain-text email and earlier text-to-HTML filters as influences.
  • The syntax page documents Setext-style and ATX-style headings.
  • The syntax page states that Markdown is not a replacement for HTML.
2004-12-17 John Gruber Source code

Context: Archive of the original Perl implementation.

Secondary URL or mirror

Documented points
  • Markdown.pl was written in Perl.
  • Implementation behavior is available as source code.
  • The source code is separate from the prose syntax documentation.

Aaron Swartz and early influence

2004-03-19 Aaron Swartz Contemporary author account

Context: Contemporary account by Swartz of his work with Gruber on Markdown and html2text.

Secondary URL or mirror

Documented points
  • Swartz describes months of work with Gruber.
  • Swartz describes syntax discussion and testing.
  • Swartz identifies html2text as his reverse-conversion tool.
  • Swartz distinguishes Gruber's Perl implementation from the format.
Early 2000s Aaron Swartz Tool

Context: Swartz's HTML-to-text tool cited from Daring Fireball's Markdown page.

Documented points
  • html2text is credited on Daring Fireball's Markdown project page.
  • The tool is related to HTML-to-Markdown/plain-text conversion.

Platform adoption

CommonMark and standardization

2014 onward CommonMark project Project homepage

Context: Current public entry point for CommonMark.

Documented points
  • CommonMark describes itself as a strongly defined, compatible specification of Markdown.
  • CommonMark identifies John MacFarlane, Martin Woodward, and Jeff Atwood among current project contacts.
  • CommonMark lists original 2014 participants.
  • CommonMark describes Markdown as developed by John Gruber in collaboration with Aaron Swartz.
Current version 0.31.2, 2024-01-28 John MacFarlane Specification

Context: Specification text for Markdown-compatible syntax.

Documented points
  • Markdown was developed by John Gruber with help from Aaron Swartz and released in 2004 as a syntax description and Perl script.
  • Original Markdown documentation left many parsing questions ambiguous.
  • Dozens of implementations and extensions emerged after 2004.
  • CommonMark attempts to specify Markdown syntax unambiguously.
Undated CommonMark Repository

Context: Repository for CommonMark specification source and tests.

Documented points
  • The repository contains the specification source.
  • The repository contains tests and reference implementation material.
  • Development history is publicly available through the repository.

GitHub Flavored Markdown

Version 0.29-gfm, 2019-04-06 GitHub Specification

Context: Canonical spec for GitHub Flavored Markdown.

Documented points
  • GFM is the dialect supported for user content on GitHub.com and GitHub Enterprise.
  • GFM is based on CommonMark.
  • GFM describes itself as a strict superset of CommonMark.
  • GFM defines extensions including tables, task list items, strikethrough, autolinks, and disallowed raw HTML.
Undated GitHub User documentation

Context: Current GitHub user documentation for writing with Markdown.

Documented points
  • GitHub combines GFM with platform-specific writing features.
  • GitHub uses Markdown in issues, pull requests, comments, and other user content.

Dialect and extension sources

2005-11-20 Fletcher T. Penney Early tool announcement

Context: Early dated public source for MultiMarkdown document-conversion workflows.

Secondary URL or mirror

Documented points
  • Penney released Mac OS X drag-and-drop applications for MultiMarkdown on 2005-11-20.
  • The tools converted MultiMarkdown documents to XHTML, LaTeX, and PDF.
  • The page describes MultiMarkdown as an extension to Markdown.
  • The page documents an initial public release for the drag-and-drop package, not necessarily the first release of MultiMarkdown itself.
Ongoing; v6 guide last revised 2023-05-25 Fletcher T. Penney Official documentation

Context: Documentation for a Markdown extension aimed at complete documents and multi-format output.

Secondary URL or mirror

Documented points
  • MultiMarkdown was designed for complete documents, not only web fragments.
  • MultiMarkdown supports features such as metadata, tables, footnotes, citations, cross-references, math, and multiple output formats.
  • Current documentation describes MultiMarkdown as having started as a Perl script modified from Markdown.pl.
  • MultiMarkdown version 2 began as a modification of Markdown.pl.
Undated John MacFarlane and contributors Official manual

Context: Manual for Pandoc's Markdown reader and document conversion workflow.

Documented points
  • Pandoc supports an extended Markdown and multiple Markdown variants.
  • Pandoc converts Markdown to multiple output formats.
  • MacFarlane's parser work also appears in later CommonMark specification history.
2006-08-10 John MacFarlane Mailing list announcement

Context: Provides an early public announcement of Pandoc as a Markdown implementation and document converter.

Documented points
  • Pandoc was publicly discussed in the Markdown community by 2006.
  • Pandoc connected Markdown to multiple output formats early in its history.
Undated Pandoc Official manual section

Context: Documents Pandoc's explicit treatment of Markdown as a family of variants.

Documented points
  • Pandoc supports multiple Markdown variants.
  • Markdown behavior can be selected and modified through extensions.
2018 Yihui Xie, J. J. Allaire, Garrett Grolemund Official book/documentation

Context: Documentation for R Markdown as a format for executable reports, notebooks, and statistical publishing.

Documented points
  • R Markdown combines prose, code, and output.
  • R Markdown uses Markdown in reproducible research and data analysis workflows.
Undated RStudio / Posit Official project site

Context: Current R Markdown project site describing documents that combine prose, code, and output.

Documented points
  • R Markdown connects Markdown authoring with executable code.
  • The site presents R Markdown as a document workflow for reports, presentations, dashboards, and notebooks.
Undated MDX contributors Official documentation

Context: Documentation for a Markdown-based format that supports JSX components and JavaScript expressions.

Documented points
  • MDX combines Markdown with JSX, JavaScript expressions, and ESM imports/exports.
  • MDX is used in component-based front-end documentation and sites.
Undated MDX Official package documentation

Context: Documents the compiler package for MDX's Markdown-plus-JSX workflow.

Documented points
  • MDX is implemented through tooling that compiles Markdown and JSX together.
  • MDX adapts Markdown for JavaScript and component publishing workflows.
Undated MDX Official project page

Context: Current project positioning for MDX as Markdown with JSX components.

Documented points
  • MDX is used to embed components in Markdown content.
  • MDX positions Markdown inside JavaScript and JSX-based publishing workflows.
Undated Obsidian Product documentation

Context: Current Obsidian documentation for Markdown-based note files.

Documented points
  • Obsidian uses Markdown files as primary notes.
  • Obsidian supports common Markdown features and app-specific extensions.

Computational and component publishing

2012-05-14 RStudio Team Product release announcement

Context: Official release announcement for RStudio v0.96 and its R Markdown support.

Documented points
  • RStudio v0.96 was announced on 2012-05-14.
  • The announcement describes tight integration with knitr.
  • The announcement says v0.96 supports dynamic web reports with the new R Markdown and R HTML formats.
  • The feature list includes editing and previewing R Markdown and R HTML files.
2012-06-04 J. J. Allaire Product announcement

Context: Early public source connecting RStudio, RPubs, and R Markdown publishing.

Documented points
  • RPubs was announced on 2012-06-04.
  • The post describes RPubs documents as based on R Markdown.
  • The post calls R Markdown a new feature of knitr 0.5 and RStudio 0.96.
  • The post connects Markdown with reproducible analysis and code-plus-prose documents.
Undated CRAN Package archive

Context: CRAN archive evidence for early knitr versions around RStudio's R Markdown support.

Documented points
  • The archive lists knitr 0.5 with a 2012-04-29 timestamp.
  • RStudio v0.96 documentation requires knitr 0.5 or higher for related authoring features.
  • The archive helps separate knitr package timing from RStudio and RPubs product announcements.
Undated CRAN Package archive

Context: Package-history source for distinguishing the later rmarkdown package from the 2012 R Markdown workflow.

Documented points
  • The CRAN archive records rmarkdown source packages from 2014 onward.
  • This package history should not be backdated to the 2012 RStudio and RPubs workflow.
  • The archive helps distinguish R Markdown as an early workflow from rmarkdown as a later package.
2022-07-28 J. J. Allaire Product/project announcement

Context: Announcement for Quarto as a scientific and technical publishing system built on Pandoc.

Documented points
  • Quarto builds on lessons from R Markdown.
  • Quarto is based on Pandoc and supports multi-language computational publishing.
Undated Quarto / Posit Official project page

Context: Current positioning for Quarto as a Markdown-based scientific and technical publishing system.

Documented points
  • Quarto authors content using plain text Markdown or Jupyter notebooks.
  • Quarto supports Python, R, Julia, Observable, and multiple output formats.

Standards and registration

March 2016 Sean Leonard Informational RFC

Context: Registers the text/markdown media type and formalizes the idea of Markdown variants.

Documented points
  • text/markdown is registered as a media type.
  • The RFC is informational, not an Internet Standards Track specification.
  • Markdown is treated as a family of plain-text formatting syntaxes.
  • The variant parameter identifies intended Markdown variants.
March 2016 Sean Leonard Informational RFC

Context: Provides design philosophy, stability strategies, and variant registrations.

Documented points
  • Markdown variants require careful identification.
  • Markdown's ambiguity and diversity were significant enough to merit formal guidance.
  • Standard, Common, and Markdown variant identifiers were reserved because of controversy.

Community and platform use

Undated Stack Overflow Product documentation

Context: Current Stack Overflow formatting documentation.

Documented points
  • Stack Overflow uses Markdown and a subset of HTML for posts.
  • Stack Overflow documents Markdown for code-heavy Q&A communication.
Undated Reddit Product documentation

Context: Current Reddit formatting documentation.

Documented points
  • Reddit has used Markdown-like formatting for posts and comments.
  • Platform Markdown may be mediated by rich text editors and platform-specific behavior.

Secondary context sources

2014-10-05 Scott Gilbertson Reporting

Context: 2014 reporting on the CommonMark naming episode and community reaction.

Documented points
  • The article reports public reaction to the Standard Markdown/CommonMark naming episode.
  • The article discusses open-source stewardship and naming.
  • The article is a secondary account.
Undated Moritz Jung Third-party release index

Context: Third-party index of Obsidian release entries.

Documented points
  • The index lists Obsidian release information.
  • The index can help locate candidate public beta and release milestones.
  • The index is not an official Obsidian source.
Undated Wikipedia contributors Secondary summary

Context: Secondary overview with references to Markdown history and variants.

Documented points
  • The page links to sources about Markdown history.
  • The page summarizes authorship and dialect history as a secondary source.