Revision 15 - 2009-05-11 at 11:39:46

Wiki Language Comparison

In MojoMojo, you can write wiki pages using HTML and one of two popular lightweight markup languages: Textile and Markdown. While you must currently choose between Textile and Markdown when creating your wiki, HTML is always available, for a few good reasons.

Choosing between Textile2 and 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.

One issue with Textile2 is that newlines break lists. It thus becomes impossible to render blockquotes or blocks of code in lists because the "bq." or "bc." block signature requires being surrounded by blank lines, and blank lines break lists:

# First,

bq. Avoid problems, and you'll never be the one who overcame them.
-- Richard Bach

# Second item, but will be numbered "1"

bq. There is no elevator to success. You have to take the stairs.

In order to achieve this one simple uses HTML instead of Textile, no big deal. Know when to use the right tool for the job. Textile's documentations specifically says it's meant as a lightweight markup, and when one needs more than what it offers then use HTML instead.

Markdown's documentation explicitly tells how to "put a blockquote within a list item".

Generally, Markdown is bit more crptic, and Textile is easier to read because it distinguishes markup more clearly. The basic differences between the two syntaxes are:

  • Head Levels
    • Textile: h1. h2. h3. h4. h5. h6.
    • Markdown: `# ## ### #### ##### ###### Markdown plain looks ugly here, but more importantly makes it difficult to read what section level your at as you go deeper. Advantage Textile.
  • Link Syntax
    • Textile: "Link text":http://example.com
    • Markdown: [Link text](http://example.com) Quoting the text of the link is easier to remember with textile. While markdown require one to decide between bracek types for the text and the URL - Advantage Textile
  • Emphasis
    • Textile: *bold*, _italic_
    • Markdown: *italic* ('em'), **bold** ('strong') Textile uses different indicators for bold and italic to easily distinguish. The underscore is quite commonly used for emphasis historically so has long standing semantic meaning.
  • backslash-escaping: Textile can't escape characters (you have to use their HTML code, e.g. * for a *. In Markdown, you just write \*.
  • auto-hyperlinking:
    • Textile automatically hyperlinks URLs
    • Markdown: you need to enclose the URL in angle brackets: <http://mojomojo.org>
  • both Textile2 and MultiMarkdown have a syntax for definition lists but MojoMojo currently doesn't support the MultiMarkdown syntax.
  • pipe characters in text within table cells must be escaped as &#124; (backslash-escaping doesn't work in this case with MultiMarkdown). MultiMarkdown allows linebreaks in tables after the first row.

To switch MojoMojo to use Textile, go to the Edit Settings page.

Wikilinks

Wikilinks are interpreted by MojoMojo separately and have the same syntax, regardless of the formatter being Textile2 or MultiMarkdown:

What you see MojoMojo Wikilinks Wikipedia
MojoMojo features MojoMojo [[/features]] MojoMojo [[features]]
MojoMojo editing cheatsheet MojoMojo [[/documentation/cheatsheet | editing cheatsheet]] MojoMojo [[cheatsheet | editing cheatsheet]]

Table headers and cell alignment

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

The CSS doesn't currently match the one in the MultiMarkdown example. This is an easy fix; please consider submitting a patch to mojomojo.css.

My tags:
 
Popular tags:
 
Powered by Catalyst