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.
Textile21 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.
Generally, Markdown is bit more cryptic but perhaps more powerful, while Textile is easier to read and use because it distinguishes markup more clearly. Textile is meant to be combined with HTML for more complex documents, or it can be turned off all together at any point with == == wrapped around the content. What some may view as a drawback to Textile is that certain markup such as headings require blank lines around them. In practice I have not found this be much of a limitation, and actually produces more legible source code. The basic differences between the two syntaxes are:
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.
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.
- Textile can be turned off by placing == around whatever content you don't want to Textile
- Markdown is automatically off in side of of blocks (like
Textile gives the user the flexibility to decide when the turn it off or on.
- Markdown provides a shorthand way to create a link with the url as the text. You enclose the URL in angle brackets:
- Textile does not have a shortcut. One would do "http://mojomojo.org/":http://mojomojo.org/
- Both Textile and MultiMarkdown have a syntax for definition lists but MojoMojo currently doesn't support the MultiMarkdown syntax.
- Textile's footnoting is simpler
 and fn1. My foonote
- Markdown's is more semantic and adds a link back
[^my_foot] [^my_foot]: A note about my foot
One disadvantage to markdown's footnoting is that a second reference to the same footnotes, duplicate the footnote in the display list.
- pipe characters in text within table cells must be escaped as
|(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 are interpreted by MojoMojo separately and have the same syntax, regardless of the formatter being Textile 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]]|
Example copied from the MultiMarkdown syntax guide:
|First Header||Second Header||Third Header|
|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
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".
Textile2 may be referred to simply as Textile in the document. ↩