Filename extensions |
.md , .markdown
|
---|---|
Internet media type | text/markdown |
Uniform Type Identifier (UTI) | net.daringfireball.markdown |
Developed by | John Gruber |
Initial release | March 19, 2004 |
Latest release |
1.0.1
(December 17, 2004 ) |
Type of format | Markup language |
Extended to | MultiMarkdown, Markdown Extra, CommonMark |
Open format? | yes |
Website | daringfireball |
Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.
John Gruber created the Markdown language in 2004 in collaboration with Aaron Swartz on the syntax, with the goal of enabling people "to write using an easy-to-read, easy-to-write plain text format, and optionally convert it to structurally valid XHTML (or HTML)".
The key design goal is readability – that the language be readable as-is, without looking like it has been marked up with tags or formatting instructions, unlike text formatted with a markup language, such as Rich Text Format (RTF) or HTML, which have obvious tags and formatting instructions. To this end, its main inspiration is the existing conventions for marking up plain text in email, though it also draws from earlier markup languages, notably setext, Textile, and reStructuredText.
Gruber wrote a Perl script, Markdown.pl
, which converts marked-up text input to valid, well-formed XHTML or HTML and replaces left-pointing angle brackets '<
' and ampersands '&
' with their corresponding character entity references. It can be used as a standalone script, as a plugin for Blosxom or Movable Type, or as a text filter for BBEdit.