lilidom
This is the final v0.1 spec of Creole (11 Sep 2006).  Also see: [Creole 0.2].

[{TableOfContents title='Overview'}]

!!!Single element examples

!!Bold and Italics
Bold and Italics should be able to embed in lists and one should be able to make links bold and italic.  Bold and/or italics __can__ span lines, but __not__ span across lines in lists __nor__ across different paragraphs.

!Bold
Creole:
{{{ **bold** }}}

Recommended XHTML:
{{{ <strong>bold</strong> }}}

Sample Output:
__bold__

!Italics
Ignore // for italics processing if immediately following ''http:'' or ''ftp:''

Creole:
{{{ //italics// }}}

Recommended XHTML:
{{{ <em>italics</em> }}}

Sample Output:
''italics''

----

Creole:
{{{
Bold and italics should //be
able// to cross lines.

But, should //not be...

...able// to cross paragraphs.
}}}

Recommended XHTML:
{{{
<p>
Bold and italics should <em>be<br />
able</em> to cross lines.
</p>
<p>
But, should //not be...
</p>
<p>
...able// to cross paragraphs.
</p>
}}}

Sample output:

Bold and italics should ''be\\
able'' to cross lines.

But, should //not be...

...able// to cross paragraphs.

!Bold Italics
Creole:
{{{
**//bold italics//**
//**bold italics**//
//This is **also** good.//
}}}

Recommended XHTML:
{{{
<strong><em>bold italics</em></strong>
<em><strong>bold italics</strong></em>
<em>This is <strong>also</strong> good.</em>
}}}

Sample Output:

__''Bold italics''__\\
''__Bold italics__''\\
''This is __also__ good''

----

Unacceptable:
{{{
**//bold italics**//
//**bold italics//**
}}}

!!Lists
Bold, italics, links, pre can be embedded in lists.  Whitespace is optional before and after the * or # character, however a space is required afterwards if someone wishes to start a list element with bold text.  A list element ends at the end of a line.  It is recommended to have support for a depth of at least five levels.

__About unordered lists and bold:__ a line starting with ** (including optional whitespace before and afterwards), immediately following an unordered list element a line above, will be treated as a nested unordered list element. Otherwise it will be treated as the beginning of bold text. Also note that bold and/or italics cannot span lines in a list.

!Unordered Lists

Creole:
{{{
* Item 1
** Item 1.1
* Item 2
}}}

Recommended XHTML:
{{{
<ul>
<li>Item 1
  <ul>
  <li>Item 1.1</li>
  </ul>
</li>
<li>Item 2</li>
</ul>
}}}

Sample Output:
* Item 1
** Item 1.1
* Item 2

!Ordered Lists
Creole:
{{{
# Item 1
## Item 1.1
# Item 2
}}}

Recommended XHTML:
{{{
<ol>
<li>Item 1
  <ol>
  <li>Item 1.1</li>
  </ol>
</li>
<li>Item 2</li>
</ol>
}}}

Sample Output:
# Item 1
## Item 1.1
# Item 2

!!Headings
Only three different sized levels of headings are required.  Closing (right-side) equal signs are optional.  If both left side and right side equal signs exist, the left side takes precedence. Whitespace is not allowed before the left-side equal signs.  Only whitespace characters are permitted after the closing equal signs.  No linebreaks are allowed within headings (this includes logical linebreaks made by using a backslash at the end of a line, for example).  Bold, italics, links and preformatted text are allowed in headings.

Creole:
{{{
== Level 2 (largest) ==
=== Level 3 ===
==== Level 4 ====
===== Level 5 =====
====== Level 6 ======
=== Also level 3
=== Also level 3 =
=== Also level 3 ==
=== **not** //parsed// ===
}}}

Recommended XHTML:
{{{
<h2>Level 2 (largest)</h2>
<h3>Level 3</h3>
<h4>Level 4</h4>
<h5>Level 5</h5>
<h6>Level 6</h6>
<h3>Also level 3</h3>
<h3>Also level 3</h3>
<h3>Also level 3</h3>
<h3><strong>not</strong> <em>parsed</em></h3>
}}}

!!Internal and External Links
Links should not be allowed to contain a linebreak.  Any markup within a link will __''not''__ be parsed.

Creole:
{{{
[[link]]
[[MyBigPage|Go to my page]]
[[http://www.wikicreole.org/]]
http://www.rawlink.org/
[[http://www.wikicreole.org/|Visit the WikiCreole website]]
[[Weird Stuff|**Weird** //Stuff//]]
}}}

Recommended XHTML:
{{{
<a href="http://www.examplewiki.com/link">link</a>
<a href="http://www.examplewiki.com/MyBigPage">Go to my page</a>
<a href="http://www.wikicreole.org/">http://www.wikicreole.org/</a>
<a href="http://www.rawlink.org/">http://www.rawlink.org/</a>
<a href="http://www.wikicreole.org/">Visit the WikiCreole website</a>
<a href="http://www.examplewiki.com/Weird_Stuff">**Weird** //Stuff//</a>
}}}

Sample Output:

[link]\\
[Go to my page|MyBigPage]\\
[http://www.wikicreole.org/]\\
[http://www.rawlink.org/]\\
[Visit the WikiCreole website|http://www.wikicreole.org/]\\
[**Weird** //Stuff//|Weird_Stuff]

!!Paragraphs
Blank line makes paragraph.

Creole:
{{{
This is my text.

This is more text.
}}}

Recommended XHTML:
{{{
<p>This is my text.</p>

<p>This is more text.</p>
}}}

Sample Output:
This is my text.

This is more text.

!!Linebreaks
Treat line breaks as line breaks.  Best practice: line continuations made with backslash at end of line.  This rule is optional If implementing a mixed native/creole mode.

Creole:
{{{
This is the first line.
This is the second line.
}}}

Recommended XHTML:
{{{
<p>
This is the first line.<br />
This is the second line.
</p>
}}}

Sample Output:

This is the first line.\\
This is the second line.

----

Creole:
{{{
* This is a single list item
followed by a paragraph?
}}}

Recommended XHTML:
{{{
<ul>
<li>This is a single list item</li>
</ul>
<p>
followed by a paragraph
</p>
}}}

Sample Output:

* This is a single list item
followed by a paragraph

!!Preformatted
This works in-line or as a block. __No wiki markup is interpreted between these characters and all characters become monospace.__ As a block, the three curly braces should be on one line by itself to open and another line of three curly braces should be on a line by itself to close.

Creole:
{{{
{{{
//This// does **not** get [[formatted]] 
~}}}
}}}

Recommended XHTML:
{{{
<pre>
//This// does **not** get [[formatted]]
</pre>
}}}

Sample Output:
{{{
//This// does **not** get [[formatted]]
}}}

----

Creole:
{{{
Some examples of markup are: {{{** <i>this</i> ** ~}}}
}}}

Recommended XHTML:
{{{
Some examples of markup are: <tt>** &lt;i&gt;this&lt;/i&gt; **</tt>
}}}

Sample output:

Some examples of markup are: {{{** <i>this</i> **}}}

!!Horizontal Rule
Whitespace is optional before and after the hyphens, but no whitespace is allowed between them.  The four hyphens must be the only characters (other than whitespace) on that line.

Creole:
{{{ ---- }}}
Recommended XHTML:
{{{ <hr /> }}}

!!Image (inline)

Creole:
{{{ {{myimage.png}} }}}

Recommended XHTML:
{{{ <img src="myimage.png" /> }}}

!!Placeholder
When there is something advanced like tables, a placeholder will show up, so users will not be confused seeing more than one syntax. (optional for wiki developers)

Creole:
{{{ <<x>> }}}

!!!Mixed syntax examples

!!Bold and/or italic links
Creole:
{{{
//[[Important page|this link is bold]]//
**[[Important page]]**
//**[[Important page]]**//
}}}

Recommended XHTML:
{{{
<em><a href="http://www.examplewiki.com/Important_Page">this link is bold</a></em>
<strong><a href="http://www.examplewiki.com/Important_page">Important page</a></strong>
<em><strong><a href="http://www.examplewiki.com/Important_page">Important page</a></strong></em>
}}}

Sample Output:
''[this link is bold|Important page]''\\
__[Important page]__\\
''__[Important page]__''

!!Bold, Italics, Links, Pre in Lists
Creole:
{{{
* **bold** item
* //italic// item
# item about a [[certain page]]
# { { { //this// is **not** [[processed]] } } } 
}}}

Recommended XHTML:
{{{
<ul>
<li><strong>bold</strong> item</li>
<li><em>italic</em> item</li>
</ul>
<ol>
<li>item about a <a href="http://www.examplewiki.com/certain_page">certain page</a></li>
<li>//this// is **not** [[processed]]</li>
</ol>
}}}

Sample Output:
* __bold__ item
* ''italic'' item
# item about a [certain page]
# {{{//this// is **not** [[processed]]}}}