Here is a first draft of a v0.1 spec of Creole. I would still personally prefer asterisks for bullet lists, but dashes were agreed upon at Wikisym 06. In v0.2, I would also like to have a syntax for images, lists with sublevels and possibly tables. I would like to make this live and static by Friday. Please comment on the Discussion page.
Possible additions/changes in v0.2:
- image links
- links to image
- changing unordered list to asterisk
- tables
Overview
- Single element examples
- Bold and Italics
- Bold
- Italics
- Bold Italics
- Lists
- Unordered Lists
- Ordered Lists
- Mixed Lists
- Headings
- Internal and External Links
- Paragraphs
- Linebreaks
- Preformatted
- Horizontal Rule
- Image (inline)
- Placeholder
- Mixed syntax examples
- Bold and/or italic links
- Bold, Italics, Links, Pre in Lists
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. Text should not be bold or italic across 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. It is recommended to have support for a depth of at least five levels.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
Mixed Lists#
Creole:- Item A ## Item A.1 ## Item A.2 - Item B
or
- Item A -# Item A.1 -# Item A.2 - Item B
Recommended XHTML:
<ul> <li>Item A <ol> <li>Item A.1</li> <li>Item A.2</li> </ol> </li> <li>Item B</li> </ul>
Sample Output:
- Item A
- Item A.1
- Item A.2
- Item B
Headings#
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. No markup within a heading will be parsed.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>**not** //parsed//</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.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.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
http://www.wikicreole.org/
Visit the WikiCreole website
__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.
Preformatted#
This works in-line or as a block. No wiki markup is interpreted between these characters.Creole:
{{{ //This// does **not** get [[formatted]] }}}
Recommended XHTML:
<pre> //This// does **not** get [[formatted]] </pre>
Sample Output:
//This// does **not** get [[formatted]]
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
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]]