I'd like to propose the following logic for handling this element:

# If the first brace is on the first column, and there are no non-whitespace characters after the last brace, then this element starts a block-level element.
# Otherwise, start a <span>.

The point is that I've found that my users often want to escape markup within a sentence, and the above rules seem to work well in that case.

Whether there is whitespace before the first brace is a matter of taste, I believe.

-- Janne Jalkanen, 31-Aug-2006


like this?
{{{

this is an example {{ ==h1, **bold** }} that starts a span
and this is an example as a block for sourcecode

{{
println 'hello world';
}}

}}}

This way we would not need seperate syntaxes for monospaced and preformatted

-- Christoph, 31-Aug-2006

Well, monospace is different from preformatted which is different from monowiki.  But essentially, yes.

-- JanneJalkanen

I agree with Janne. I'd phrase the rules differently, however:

# If the opening triple braces start on the first column, open a pre block. It is closed by closing triple braces starting on the first column.
# Any other opening triple braces open a span. They are closed by tripple braces.

This has the benefit that you can include the markup for unprocessed text inside the markup for preformatted text. Something I have wanted to do on this wiki several times!

The desired result is:

{{{
To produce bold text, use {​{​{**bold**}​}​}.
}}}

And not:

{{{
To produce bold text, use {{{**bold**}}}.
}}}

-- [AlexSchroeder]

!Collision with MediaWiki format parameters

Unfortunately &#123;&#123;{..&#125;&#125;} for preformatted text collides with MediaWiki template parameters, see [Creole Markup Collision Analysis]. Since MediaWiki is probably the most popular wiki of all this needs to be changed.

-- MartinBudden, 2006-12-28

So a single wiki engine uses markup conflicting with Creole for a feature pretty unique for it. That's unfortunate. What can we do?

Update:
After some reaserach on MediaWiki's templates, I think it's not that bad at all:
* Normal (non-template) pages can use monospaced text without problems
* Template pages can use the preformatted blocks normally
* Template pages can render inline {{{{{{...}} } }}} as nowiki text by default, with two exceptions:
** When there is only a number inside, and the page is being included as a template with at least that number of paramteres
** When there is a parameter name inside, and the page is being included as a template with that named parameter passed

It has two disadvantages:
* makes it harder to explain/understand the creating of templates -- but they are pretty advanced and rare feature anyways
* makes it a little harder to write (and maintain) the parser -- but that's something you do for a single wiki engine -- and at its cost you have a pretty popular and collision-free syntax in Creole. It's not me who is going to do that work, but I think it's worth it.
-- RadomirDopieralski, 2006-12-29