I strongly second the proposal, important separation of issues.

Being aware that Creole currently has a weak position about nested formatting: I would vote for being able to have emphasized parts within monospace programming code! It does help discussions to be able to highlight within a bigger, emphasized part.

-- [Gregor Hagedorn] - 2007-03-14

I also support the proposal.

Not sure if that's what Gregor means, but I wouldn't like markup in preformatted blocks.
Or it should be a second kind of preformatted blocks. Otherwise, normal program listings
would require way too much escaping.

-- [[YvesPiguet]], 2007-Mar-16

So, it would be something like this:
{{{
 This is normal text ##this is monospaced with a [[link]] and **emphasis**##.
 This is {{{[[not a link]]~}}}, ##{{{this is monospaced nowiki~}}}##, but:

 {{{
  /** this is a normal comment, without any emphasis **/
  # this is a comment
  int main() {{{
    z = "//this is not italic text//"
  ~}}}
 ~}}}
}}}

So, a preformated block is something different than ##monospace## font. To have formatting within a monospaced block of text, one has to use normal text:

{{{
##
 int **main**() {{{{{{~}}}\\
  z = "//this is italic text//"\\
 {{{~}}}~}}}
##
}}}

Note, that engines can extend the preformated block to inlcude coloring/fomratting of the code -- actually that's what I do in the MoinMoin parser:

{{{
 {{{
 #!perl
  some colored perl code
 ~}}}
}}}

But maybe the {{{<<<...>>>}}} or other special markup should be used for that? The current approach has an advantage of graceful degradation...

-- [[Radomir Dopieralski]], 2007-Mar-16

Radomir, I'm affraid some of your examples aren't processed correctly by the current
engine of wikicreole. I could try to fix what I can, but I don't want to interfer with your
signed edits... Feel free to remove this paragraph if it becomes obsolete. -- [[YvesPiguet]],
2007-Mar-16

I'd suggest to move suggestions on auto-enhancing to a page of suggestions for
implementers. This would include syntax coloring of preformatted blocks based
on heuristics similar to what the unix {{{file}}} command does, conversion of smileys
into images, copyright or TM symbols, and - dare I say - URL outside link markup. All
these features share a common characteristic: not implementing them doesn't hurt,
contrary to all other markup which looks like markup and has a larger effect on the
result.

-- [[YvesPiguet]], 2007-Mar-16

Sorry for that, it should render ok now (if I got the escaping rules right :) ). There are several problems with using "normal", unix-like hashbangs: the path is not standard, some scripts use things like "{{{#!/usr/bin/env python}}}". Jus taking the last word is not an option too, as some programs will take more paramters. The scond problem is that not all languages use "#" for comments.

In case of MoinMoin the hashbang is completely artifical and is discarded when displaying -- it is part of the markup.

Not implementing the stand-alone urls has catastrophic effects: the "//" in the urls gets parsed as italic text.

-- [[Radomir Dopieralski]], 2007-Mar-16

The rule I use is that double-slash isn't interpreted as an italic tag if it follows a colon
and isn't followed by a space or end-of-line.

Thanks for your code samples. A single-character escape would have helped, wouldn't it? :-)

-- [[YvesPiguet]], 2007-Mar-16

Actually just implementing the most recent spec of Creole would make it just work at the first attempt. Of course I don't complain -- I'm extremely grateful that we can use Creole at all here.

As a side note, I noticed that the "{{{//}}}" in the pre block get converted into "{{{''}}}" in the rendered page.

-- [[Radomir Dopieralski]], 2007-Mar-16

----
Copied from [[Talk.Creole 0.6]]:

I like the escape character, because it is quick. If Wikis were not about being quick and comfortable, we should use decent xhtml and forget about this discussion. So I personally believe having triple brace for preformatted block, double brace for neutral no-wiki span, and tilde for single character escape is not a clean design, but convenient and reasonable. I have worked for years on a TWiki where CamelCase cannot be turned (as JSPWiki allows), discussion XML Schemata for biodiversity (i.e. tons of unintended CamelCase). With a single character escape it was hard enough, but with braces around every 10th Word or so I probably would have walked away.

-- [[Gregor Hagedorn]], 2007-03-27

Gregor, I moved your comment here, because it touches some things I'd like to discuss that I think better fit here.

Your proposal does have a certain appeal. It is easier to type in the most common case (nowiki text), has certain kind of internal consistency ("more" escaping markup to also retain spacing), plays nicely with block pre's. I like it, even when there are two problems:
* we would have to change the markup for images
* we would have no way of making monospaced **and** wiki-formatted text (unless we keep the "##" just for this purpose)

Then again, {{{##{{{foo~}}}##}}} does look ugly and is hard to type.

What do others think about it?

-- [[Radomir Dopieralski]], 2007-Mar-27

Whoops, I did not mean to make a new proposal, but you are right, I did! Thinking about my subconscious logic, I like my proposal. Changing image markup seems acceptable. What do others think?

-- [[Gregor Hagedorn]], 2007-03-27