(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 8 added one line
* removed escaping nowiki/preformatted because this is now covered by the escape character
At line 355 removed 28 lines
== Escaping preformatted/nowiki
The preformatted/nowiki markup syntax requires some kind of an escaping mechanism. Fortunately, the escaping is only necessary when there is "{{{~}}}}}}" at the beginning of a line present in the block. In this case, to avoid treating the braces as markup for the end of the block, it needs to be indented with a single space. Furthermore, any line consisting of only indented three closing curly braces will have one space removed from the indentation -- to allow representing any possible text inside the preformatted block.
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>
}}}
At line 455 changed one line
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.
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. However, if a wiki uses CamelCase, it is recommended that a tilde in front of a CamelCased phrase keep it from becoming a link.
At line 436 added 62 lines
{{{
=Heading
~=Line starting with equal sign, this displays a normal tilde: ~
}}}
If an 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>
}}}
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