Markdown extensions
Encyclopedia
A number of lightweight markup languages
extend Markdown
by implementing added features (such as tables, footnotes, definition lists, and Markdown inside HTML blocks) not available with plain Markdown syntax. In some cases, this is in order to enable conversion into more formats than HTML, for example, LaTeX
, RTF
, and DocBook
.
Many implementations also intentionally omit support for middle word emphasis. The original markdown implementation interprets constructs like my_long_variable as a request to emphasize "long" in the middle of a word. Many users found this confusing, so many later implementations such as PHP Markdown and Python markdown do not implement middle word emphasis by default http://six.pairlist.net/pipermail/markdown-discuss/2005-October/001610.html
Among these are Markdown Extra
, MultiMarkdown
, Maruku, kramdown and the Pandoc Markdown extension.
The essay "Thoughts on Markdown" stated that Gruber (markdown's original developer) has not responded to discussions about extensions to markdown, and that "Markdown is changing, with or without him".
Lightweight markup language
A lightweight markup language is a markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form....
extend Markdown
Markdown
Markdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
by implementing added features (such as tables, footnotes, definition lists, and Markdown inside HTML blocks) not available with plain Markdown syntax. In some cases, this is in order to enable conversion into more formats than HTML, for example, LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...
, RTF
RTF
RTF may stand for:* Radiodiffusion-Télévision Française, France's national public broadcasting organization between 1949 and 1964* Reader talks first, in RFID, the situation where the interrogator or reader initiates the session with the RFID tag...
, and DocBook
DocBook
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software but it can be used for any other sort of documentation....
.
Many implementations also intentionally omit support for middle word emphasis. The original markdown implementation interprets constructs like my_long_variable as a request to emphasize "long" in the middle of a word. Many users found this confusing, so many later implementations such as PHP Markdown and Python markdown do not implement middle word emphasis by default http://six.pairlist.net/pipermail/markdown-discuss/2005-October/001610.html
Among these are Markdown Extra
Markdown Extra
Markdown Extra is a lightweight markup language based on Markdown, which implements some added features currently not available with plain Markdown syntax.It adds the following features to Markdown:* Inline HTML...
, MultiMarkdown
MultiMarkdown
MultiMarkdown is a lightweight markup language created by Fletcher S. Penney and based on Markdown, which supports more export-formats and implements some added features currently not available with plain Markdown syntax....
, Maruku, kramdown and the Pandoc Markdown extension.
The essay "Thoughts on Markdown" stated that Gruber (markdown's original developer) has not responded to discussions about extensions to markdown, and that "Markdown is changing, with or without him".
External links
- PHP Markdown Extra official Markdown Extra site, featuring PHP implementation and syntax reference.
- Maruku is a RubyRuby (programming language)Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
implementation of MarkdownMarkdownMarkdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
and Markdown Extra. - kramdown is another RubyRuby (programming language)Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
implementation of MarkdownMarkdownMarkdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
which adds several features inspired by Maruku and Markdown Extra. - MultiMarkdown is an implementation of MarkdownMarkdownMarkdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
oriented toward writing, which includes various extensions, including footnotes and RTF and LaTeX output. - Python Markdown is an implementation of MarkdownMarkdownMarkdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
with various extensions such as tables and ignoring internal bold/italic markings. - Pandoc is a HaskellHaskell (programming language)Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
implementation of MarkdownMarkdownMarkdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people "to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML "...
with numerous extensions and additional output formats, including reStructuredTextReStructuredTextreStructuredText is a lightweight markup language intended to be highly readable in source format. Its formal name indicates that it is a "revised, reworked, and reinterpreted StructuredText."...
, HTMLHTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
, LaTeXLaTeXLaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...
, ConTeXtConTeXtConTeXt is a general-purpose document processor. It is especially suited for structured documents, automated document production, very fine typography, and multi-lingual typesetting. It is based in part on the TeX typesetting system, and uses a document markup language for manuscript preparation...
, PDF, RTFRTFRTF may stand for:* Radiodiffusion-Télévision Française, France's national public broadcasting organization between 1949 and 1964* Reader talks first, in RFID, the situation where the interrogator or reader initiates the session with the RFID tag...
, DocBookDocBookDocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software but it can be used for any other sort of documentation....
XML, OpenDocumentOpenDocumentThe Open Document Format for Office Applications is an XML-based file format for representing electronic documents such as spreadsheets, charts, presentations and word processing documents....
XML, ODTODTThe term ODT can refer to several things, among them:*.ODT, the word processing file format of OpenDocument, an open standard for electronic documents*Otago Daily Times — New Zealand's oldest daily newspaper...
, GNU TexinfoTexinfoTexinfo is a typesetting syntax used for generating documentation in both on-line and printed form with a single source file...
, MediaWikiMediaWikiMediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...
(Wikipedia) markup, groff man pages and S5 slideshowsS5 file formatS5 is an XHTML-based file format for defining slideshows. It was created by Eric Meyer as an alternative to the browser-centric Opera Show Format...
. The underlying parser reads not only Markdown, but also reStructuredTextReStructuredTextreStructuredText is a lightweight markup language intended to be highly readable in source format. Its formal name indicates that it is a "revised, reworked, and reinterpreted StructuredText."...
and subsets of HTML, and LaTeX. - Showdown is a Markdown parser written in JavaScript.