(anonymous guest) (logged out)

Copyright (C) by the contributors. Some rights reserved, license BY-SA.

Sponsored by the Wiki Symposium and the Nuveon GmbH.

 

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
txt
wikicreole1.txt 17.5 kB 1 12-Dec-2009 08:59 ChristophSauer

This page (revision-67) was last changed on 25-Feb-2013 09:27 by ChristophSauer  

This page was created on 02-May-2007 18:10 by ChristophSauer

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 changed one line
This is the proposed v1.0 spec of Creole (2007-May-09), under discussion until 2007-Jun-13. Also see [[Roadmap to Creole 1.0]], [[Creole 1.0 Poll]] and [[reasoning]] for more information. Note that [[Creole 0.7]] was rejected.
<<ALLOW edit Editor, Admin>>
<<ALLOW view All>>
At line 4 added 22 lines
%%commentbox
[[wikicreole1.txt|Sourcecode of this page]]
[{TableOfContents title='Overview'}]
**Translations**
* [[http://science.webhostinggeeks.com/creole-10|Serbo-Croatian]], translated by Anja Skrba
If you would like to add a translation, contact [[Christoph Sauer]], he will put your link up here.
** Open Wiki Discussions**
The Creole 1.0 project has been successfully finished. Therefore we decided to close down this wiki for editing. If you want to contribute to the next version of creole you can use the new creole wiki at [[http://wiki.wikicreole.org/]].
* [[http://wiki.wikicreole.org/Creole%201.0|Creole 1.0]]
* [[http://wiki.wikicreole.org/Creole%202.0|Creole 2.0]]
%%
This is the final v1.0 spec of Creole (2007-Jul-04) which will be frozen for two years. Also see [[Roadmap to Creole 1.0]], [[Creole 1.0 Poll]] and [[reasoning]] for more information. You can use the [[Creole 1.0 Test Cases]] to check the compliance of your engine implementation.
At line 27 added one line
* whitespace allowed before all elements except nowiki blocks
At line 9 changed one line
* removed escaping closing nowiki triple curly brackets because this is now covered by the escape character
* a tilde in front of a URL should prevent it from becoming a link
At line 11 removed 2 lines
[{TableOfContents title='Overview'}]
At line 34 changed one line
Ignore // for italics processing if immediately following ''http:'' or ''ftp:''
Ignore {{{ // }}} for italics processing if immediately following {{{ http: }}} or {{{ ftp: }}}
At line 64 changed one line
But, should //not be...
But, should <em>not be...</em>
At line 67 changed one line
...able// to cross paragraphs.
...able<em> to cross paragraphs.</em>
At line 73 changed 2 lines
Bold and italics should ''be\\
able'' to cross lines.
Bold and italics should //be\\
able// to cross lines.
At line 107 removed 61 lines
== Lists
Bold, italics, links, nowiki can be used in list items, but they cannot span several list items. Whitespace is optional before and after the * or # characters, however a space is required afterwards if the list element starts with bold text. A list element ends at the end of a line, although it can contain line breaks forced with {{{\\}}}. It is recommended to have support for a depth of at least five levels of nesting. Any line that does not start with a {{{*}}} or {{{#}}} (optionally preceded with some whitespace) ends the list.
**About unordered lists and bold:** a line starting with {{{**}}} (including optional whitespace before and afterwards), immediately following any list element on 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
**Rationale:** A large majority of wiki engines use an asterisk ({{{*}}}) to denote bullet lists. The multiple asterisk approach for sublists was the first wiki syntax for sublists. Users do not need to count leading spaces like in markups where a sublist level is determined by the number of its leading spaces. Optional leading spaces can be used to make the Creole markup clearer if the author wishes so. [[Lists Reasoning|More details]]
=== 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
**Rationale: ** The number sign ({{{#}}}) is used for ordered lists in most wikis. [[Lists Reasoning|More details]]
At line 170 changed one line
Only three different sized levels of headings are required. Closing (right-side) equal signs are optional, don't need to be balanced and don't impact the kind of heading generated. Whitespace is not allowed before the left-side equal signs. Only whitespace characters are permitted after the closing equal signs. Markup parsing is optional within headings.
Only three different sized levels of headings are required. Closing (right-side) equal signs are optional, don't need to be balanced and don't impact the kind of heading generated. Whitespace **is** allowed before the left-side equal signs. Only whitespace characters are permitted after the closing equal signs. Markup parsing is optional within headings.
At line 174 changed one line
= Level 1 (largest) =
== Level 1 (largest) =
At line 206 changed one line
Free-standing urls should be detected and turned into links. Single punctuation characters ({{{,.?!:;"'}}}) at the end of urls should not be considered part of the url.
Free-standing URLs should be detected and turned into links. Single punctuation characters ({{{,.?!:;"'}}}) at the end of URLs should not be considered part of the URL.
At line 290 removed 21 lines
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
At line 316 changed one line
== Nowiki (Preformatted)
== Lists
At line 318 changed one line
This works inline or as a block. **No wiki markup is interpreted between these characters**, even tildes which are used as escape characters elsewhere (see below). 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, without leading spaces. In a block, characters are displayed in monospace. For inline nowiki text, wiki implementers can decide whether to display this text regularly or in monospace.
List items begin with a {{{*}}} or a {{{#}}} at the beginning of a line. Whitespace is optional before and after the {{{*}}} or {{{#}}} characters, however a space is required afterwards if the list element starts with bold text. A list item ends at the line which begins with a {{{*}}} or {{{#}}} character (next item or sublist), blank line, heading, table, or nowiki block; like paragraphs, it can span multiple lines and contain line breaks forced with {{{\\}}}. It is recommended to have support for a depth of at least five levels of nesting. Bold, italics, links, and nowiki can be used in list items, but they cannot span several list items.
At line 260 added 4 lines
**About unordered lists and bold:** a line starting with {{{**}}} (including optional whitespace before and afterwards), immediately following any list element on a line above, will be treated as a nested unordered list element. Otherwise it will be treated as the beginning of bold text.
=== Unordered Lists
At line 322 changed 3 lines
{{{
//This// does **not** get [[formatted]]
~}}}
* Item 1
** Item 1.1
* Item 2
At line 329 changed 3 lines
<pre>
//This// does **not** get [[formatted]]
</pre>
<ul>
<li>Item 1
<ul>
<li>Item 1.1</li>
</ul>
</li>
<li>Item 2</li>
</ul>
At line 335 changed 3 lines
{{{
//This// does **not** get [[formatted]]
}}}
* Item 1
** Item 1.1
* Item 2
At line 288 added 4 lines
**Rationale:** A large majority of wiki engines use an asterisk ({{{*}}}) to denote bullet lists. The multiple asterisk approach for sublists was the first wiki syntax for sublists. Users do not need to count leading spaces like in markups where a sublist level is determined by the number of its leading spaces. Optional leading spaces can be used to make the Creole markup clearer if the author wishes so. [[Lists Reasoning|More details]]
=== Ordered Lists
At line 341 changed one line
Some examples of markup are: {{{** <i>this</i> ** ~}}}
# Item 1
## Item 1.1
# Item 2
At line 346 changed one line
Some examples of markup are: <tt>** &lt;i&gt;this&lt;/i&gt; **</tt>
<ol>
<li>Item 1
<ol>
<li>Item 1.1</li>
</ol>
</li>
<li>Item 2</li>
</ol>
At line 349 changed one line
Sample output:
Sample Output:
# Item 1
## Item 1.1
# Item 2
At line 351 changed one line
Some examples of markup are: {{{** <i>this</i> **}}}
**Rationale: ** The number sign ({{{#}}}) is used for ordered lists in most wikis. [[Lists Reasoning|More details]]
At line 353 removed 24 lines
===Closing braces in nowiki
To include closing braces where they might be considered as nowiki or preformatted end tag, there are two additional rules:
* In inline nowiki, any trailing closing brace is included in the nowiki span (i.e. in a sequence of more than three closing braces, the end marker is made of the //last three braces//).
* In preformatted blocks, since markers must not be preceded by leading spaces, lines with three closing braces which belong to the preformatted block must follow at least one space. In the rendered output, one leading space is removed.
//**Note: the Creole markup used for the code sample below must be correct, but it isn't rendered correctly yet by the Wikicreole engine. [[YvesPiguet]]//
Creole:
{{{
Inline nowiki with closing braces: {{{if (a>b) { b = a; }}}}.
Preformatted block with a line containing three closing braces:
{{{
{{{
if (x != NULL) {
for (i = 0; i < size; i++) {
if (x[i] > 0) {
x[i]--;
}}}
}}}
}}}
**Rationale: ** There must be a way for users to enter text which will not be formatted by the wiki engine. Triple curly brackets ({{{{{{~}}}}}}) were chosen due to their visibility and unlikeliness to be in the "code" itself. [[Preformatted and Nowiki Reasoning|More details]]; see also [[Add No Wiki Escape Proposal]].
At line 388 removed 2 lines
//**Note: why are leading spaces permitted here? [[YvesPiguet]]//
At line 396 changed one line
{{{ <img src="myimage.png" alt="this is my image"/> }}}
{{{ <img src="myimage.png" alt="this is my image" /> }}}
At line 402 changed one line
All cells are separated by single pipes. No leading space is permitted before the first cell of a row. The ending pipe is optional. You can embed links, bold, italics, line breaks, and nowiki in table cells. Equal sign directly following pipe defines a header. Headers can be arranged horizontally or vertically. Comparison details found on [List Of Table Markups]
All cells are separated by single pipes. Leading spaces are permitted before the first cell of a row and trailing spaces are permitted at the end of a line. The ending pipe is optional. You can embed links, bold, italics, line breaks, and nowiki in table cells. Equal sign directly following pipe defines a header. Headers can be arranged horizontally or vertically. Comparison details found on [List Of Table Markups]
At line 420 changed one line
<td>Two lines\\in Cell 1.2</td>
<td>Two lines<br />in Cell 1.2</td>
At line 436 changed one line
== Placeholder
== Nowiki (Preformatted)
At line 438 changed one line
When there is something advanced, a placeholder will show up, so users will not be confused seeing more than one syntax. (optional for wiki developers)
This works inline or as a block. **No wiki markup is interpreted between these characters**, even tildes which are used as escape characters elsewhere (see below). 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, without leading spaces. In a block, characters are displayed in monospace. For inline nowiki text, wiki implementers can decide whether to display this text regularly or in monospace.
At line 440 changed one line
**Note:** do not confuse this with the plug-in syntax which can be found at [[Additions]].
Creole:
{{{
{{{
//This// does **not** get [[formatted]]
~}}}
}}}
At line 386 added 12 lines
Recommended XHTML:
{{{
<pre>
//This// does **not** get [[formatted]]
</pre>
}}}
Sample Output:
{{{
//This// does **not** get [[formatted]]
}}}
At line 443 changed one line
{{{ <<<x>>> }}}
{{{
Some examples of markup are: {{{** <i>this</i> ** ~}}}
}}}
At line 445 changed one line
**Rationale:** This was mainly developed due to MediaWiki's extensive use of special characters making it practically impossible to implement Mixed Creole mode. Few wikis use angle brackets ({{{<<<>>>}}}) for markup. This markup is generated by the wiki engine rather then typed in by the user, therefore we use three instead of two markup characters to reserve the markup with two angle brackets for extension elements that are typed in by users. [[Placeholder Reasoning|More details]].
Recommended XHTML:
{{{
Some examples of markup are: <tt>** &lt;i&gt;this&lt;/i&gt; **</tt>
}}}
At line 408 added 25 lines
Sample output:
Some examples of markup are: {{{** <i>this</i> **}}}
===Closing braces in nowiki
To include closing braces where they might be considered as nowiki or preformatted end tag, there are two additional rules:
* In inline nowiki, any trailing closing brace is included in the nowiki span (i.e. in a sequence of more than three closing braces, the end marker is made of the //last three braces//).
* In preformatted blocks, since markers must not be preceded by leading spaces, lines with three closing braces which belong to the preformatted block must follow at least one space. In the rendered output, one leading space is removed.
Creole:
Inline nowiki with closing braces: {{{{{if (a>b) { b = a; ~}}}}}}.
Preformatted block with a line containing three closing braces:
{{{
{{{
if (x != NULL) {
for (i = 0; i < size; i++) {
if (x[i] > 0) {
x[i]--;
~}}}
~}}}
}}}
**Rationale: ** There must be a way for users to enter text which will not be formatted by the wiki engine. Triple curly brackets ({{{{{{~}}}}}}) were chosen due to their visibility and unlikeliness to be in the "code" itself. [[Preformatted and Nowiki Reasoning|More details]]; see also [[Add No Wiki Escape Proposal]].
At line 449 changed one line
Outside nowiki and preformatted, the escape character only escapes the character immediately following it, provided that it is not a letter (a-z or A-Z), a digit (0-9), or a blank (space or line feed).
The escape character is the tilde (~~). Outside nowiki, preformatted, and URL, the escape character only escapes the character immediately following it, provided that it is not a blank (space or line feed). The following character is rendered as is and cannot be a part of any Creole markup.
At line 451 changed one line
If the wiki supports ~CamelCase, it is recommended that a tilde prevents such a phrase from becoming a link, if it is in front of a ~CamelCase phrase.
The escape character disables the automatic conversion of the URL immediately following to links, and any similar mechanism supported by the wiki engine (camelcase wikiwords, copyright sign, etc.)
At line 442 added 3 lines
~#1
http://www.foo.com/~bar/
~http://www.foo.com/
At line 462 changed one line
CamelCaseLink\\
~#1 \\
http://www.foo.com/~bar/ \\
~http://www.foo.com/ \\
CamelCaseLink \\
At line 459 added 11 lines
== Placeholder
When there is something advanced, a placeholder will show up, so users will not be confused seeing more than one syntax. (optional for wiki developers)
**Note:** do not confuse this with the plug-in syntax which can be found at [[Additions]].
Creole:
{{{ <<<x>>> }}}
**Rationale:** This was mainly developed due to MediaWiki's extensive use of special characters making it practically impossible to implement Mixed Creole mode. Few wikis use angle brackets ({{{<<<>>>}}}) for markup. This markup is generated by the wiki engine rather then typed in by the user, therefore we use three instead of two markup characters to reserve the markup with two angle brackets for extension elements that are typed in by users. [[Placeholder Reasoning|More details]].
Version Date Modified Size Author Changes ... Change note
67 25-Feb-2013 09:27 18.19 kB ChristophSauer to previous
66 25-Feb-2013 09:26 18.222 kB ChristophSauer to previous | to last
65 25-Feb-2013 09:25 18.225 kB ChristophSauer to previous | to last
64 25-Feb-2013 09:20 18.2 kB ChristophSauer to previous | to last
63 25-Feb-2013 09:19 17.959 kB ChristophSauer to previous | to last
62 25-Feb-2013 09:18 17.961 kB ChristophSauer to previous | to last
61 25-Feb-2013 09:17 17.884 kB ChristophSauer to previous | to last
« This page (revision-67) was last changed on 25-Feb-2013 09:27 by ChristophSauer