At line 1 changed one line |
This is the proposed v0.6 spec of Creole (2007-Mar-21) and will up for discussion until 2007-Apr-04. Also see [[reasoning]] for more information about individual markup elements. |
%%warning |
Please note that we plan to move the bullet list back to asterisk in Creole 1.0, so feel free to implement Creole "0.6" with asterisks instead of hyphens. |
%% |
At line 5 added 2 lines |
Creole 0.6 will be under discussion until 2007-Apr-23. Please take part in the [[Creole 0.6 Poll]]. Also see [[reasoning]] for more information about individual markup elements. |
|
At line 5 changed 2 lines |
* added tilde as escape character (see [[Escape Character Proposal]]) |
* removed monospace requirement from in-line nowiki (see [[Proportional Font Nowiki Proposal]]) |
* removed monospace requirement from in-line nowiki (part of [[Proportional Font Nowiki Proposal]]) |
At line 337 changed one line |
!!Preformatted |
!!Nowiki (Preformatted) |
At line 342 changed one line |
This works in-line or as a block. __No wiki markup is interpreted between these characters.__ 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. In a block, characters are displayed monospace. In-line, how to display characters is left to the implementer. |
This works inline or as a block. __No wiki markup is interpreted between these characters.__ 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. 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 363 removed 90 lines |
!!Escape character |
|
It is often troublesome to use the nowiki in-line to display symbols of wiki syntax, so it would be useful to have an escape character that could be put before wiki syntax to prevent it from being interpreted. The tilde was chosen not to conflict with line breaks and because it is a very infrequently used character. It is not generally easy to type, but it will also not need to be used often, so in this sense it is also suitable. |
|
The escape character only escapes in certain combinations. This means that e.g. the tilde in this use case is displayed as tilde and not escaped. It would certainly **never** escape if followed by a space or an alphanumeric character. |
|
{{{ |
http://stud.hs-heilbronn.de/~someone |
}}} |
|
Escape characters only trigger if you use it in combination with the occurrence of a character that has special meaning in creole and would otherwise be rendered as markup. For example if you use "tilde + equal sign as first characters in a line" it will escape the equal sign and display it as such because otherwise it would be rendered as heading |
|
{{{ |
=Heading |
~=Line starting with equal sign, this displays a normal tilde: ~ |
}}} |
|
If a escape character is only used in certain combinations we have a minimum of collisions with existing markup. For example if an wiki uses tilde as normal markup, it would not collide with e.g. |
|
{{{ |
~=This is a heading |
~this is subscript in certain wikis~ |
~~=This is a sentence with a tilde and an equal sign at the beginning... (tilde escapes itself) |
}}} |
|
Here's a complete list that would cause the escape character (e.g. tilde) to trigger escaping of the following character combinations. This can be extended as need be. Note also that an escape character can be escaped by putting a space after it, since a space cannot be escaped. |
|
{{{ |
Escapes Markup Combination Constraint Example: |
============== ========================== ========= |
Bold Anywhere ~** |
Italics Anywhere ~// |
Unordered Lists Hyphen, first chars in line ~- |
Ordered Lists First chars in line ~# |
Headings Equal signs, first chars in line ~= |
Links Open Anywhere ~[[ |
Inside Links Within Links [[A pipe ~| is used within links]] |
Links Close Anywhere ~]] |
Line Breaks Anywhere ~\\ |
Horizontal Line First chars in line ~---- |
Image Open Anywhere ~{{ |
Image Close Anywhere ~}} |
Table Open First chars in line ~| this is | not a table |
Inside Tables Pipe used within a table cell | x~|y | |
Escaping Escape Anywhere ~~ |
Escaping Escape Anywhere ~<space> |
Nowiki Open First chars in line ~{{{ |
Nowiki Close First chars in line ~~}}} |
}}} |
|
So, for example, this markup: |
|
{{{ |
{{{ |
int main(int argc, char *argv[]) { |
if argc>0 { |
if argc<=1 { |
--argc; |
~~}}} |
~}}} |
}}} |
|
will produce this result: |
|
{{{ |
<pre> |
int main(int argc, char *argv[]) { |
if argc>0 { |
if argc<=1 { |
--argc; |
~}}} |
</pre> |
}}} |
|
---- |
|
Creole: |
{{{ |
Some examples of markup are: {{{** <i>this</i> ** ~}}} |
}}} |
|
Recommended XHTML: |
{{{ |
Some examples of markup are: <tt>** <i>this</i> **</tt> |
}}} |
|
Sample output: |
|
Some examples of markup are: {{{** <i>this</i> **}}} |
|
At line 467 changed one line |
The most common image markup was double curly brackets ({{{ {{}} }}}) which will then have the same internal structure as links for consistency. [[Images Reasoning|Reasoning]] |
[[Images Reasoning|Reasoning]] |