Markup language comparison - Textile vs. Markdown

In MojoMojo, you can write wiki pages using HTML and one of two popular lightweight markup languages: Textile and Markdown. HTML is also available, for a few good reasons.

Textile2 vs. MultiMarkdown

Textile2 is an extension to Textile, adding extended blocks (blocks that can contain a newline). MultiMarkdown is an extension to Markdown, adding support for tables, footnotes, bibliography, automatic cross-references, glossaries, appendices, definition lists, math syntax, anchor and image attributes, and document metadata.

Syntax Comparison

To play with the markup languages, you can use the Markdown testbed or the Textile 2 web page.

Generally, Markdown is bit more cryptic but more powerful, while Textile is simpler and easier to read. Textile is meant to be combined with HTML for more complex documents. Below are the basic differences between the two syntaxes.

Heading levels

Markdown makes it difficult to read what section level your at as you go deeper then the 5th heading. On the other hand, Markdown offers a more visual syntax for level 1 headings,

Main Header
========

and for level 2 headings:

Sub Header
--------

Link Syntaxsyntax

Some complaints against the Markdown link syntax include forgetting which goes first (the link title or the URL) and what types of brackets are around each. TextileOther iscomplaints simplerare the need to escape parentheses in URLs (which are valid characters), when the [link title]<URL> syntax would have been much better.

Complaints against Textile include the need to escape a double quote in the link title ("How free markets &quot;address&quot; health care":http://krugman.blogs.nytimes.com/2009/07/25/why-markets-cant-cure-healthcare/), and unclear end of links: some parsers may include the final period in "Foo Bar":http://foo.com/bar., while others may not. Markdown is more powerful and clearer.

Auto hyperlinking

Emphasis

The Textile markup has longer historical backing with _ and * being used way before HTML to convey "underline" and "bold".

Markdown justifies its choice in the light of semantic markup: thinking in terms of "bold" and "italic" is not semantic; other media (e.g. speech synthesizers for the visually impaired) cannot render "bold" or "italic". The semantic meaning is "emphasis" and "strong emphasis". Markdown is semantic.

Textile doesn't interpret emphasis right inside parentheses: neither (*bold*), nor (_italics_) will be rendered with formatting; instead, the two strings will be output verbatim.

Turning off markup interpretation

Escaping characters

Integration with HTML

Definition Lists

Footnotes

Tables

Demo: captions, table headers, cell alignment and column spans

Example copied from the MultiMarkdown syntax guide:

Prototype table
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more And more

Images

TODO

Limitations

Newlines in lists

Which one do you prefer?

You can submit your preference for Markdown vs. Textile at the Mark-it-up survey.

Credits

Author: Dan Dascalescu

Thanks to Mateu X. Hunter for the initial draft.