Edgewall Software

Version 8 (modified by Christian Boos, 14 years ago) ( diff )

detail the creole syntax and the corresponding support status

Wiki Creole

Wiki Creole is a tentative to create a compatibility layer between Wikis, by trying to define a kind of common syntax:

Creole is a common wiki markup language to be used across different Wikis. It's not replacing existing markup but instead enabling wiki users to transfer content seamlessly across wikis, and for novice users to contribute more easily.

While our current Wiki engine doesn't yet allow to implement compatibility with WikiCreole by the way of a plugin, our Wiki Syntax happens to be close enough to the spec that only small tweaking would be needed to reach a good compatibility level.

As MoinMoin switched to a creole friendlier markup in 1.6 and BitBucket also supports fully the WikiCreole 1.0 spec, the Trac wiki syntax should also become more creole-friendly. Complete compatibility is probably out of reach, but there are a number of things we can adopt without breaking anything.


Cheat Sheet for Wiki Creole 1.0
http://www.wikicreole.org/attach/CheatSheet/creole_cheat_sheet.png

Possible changes:

additional inline formatting: alternate syntax for lists: alternate syntax for links: variant for headings: white space: alternative to macro: variant for pipe-based tables: blocks:
Wiki Markup Display Status
//italics// italics in #4356
**bold** bold in #4356
* Bullet list
* Second item
** Sub item
  • Bullet list
  • Second item

Sub item

** Sub item will conflict with bold; we therefore really need to parse the structural markup before the inline markup here (see vertical/horizontal parsing).

# Numbered list
## Second item
## Sub item

# Numbered list ## Second item ## Sub item

No conflict but needs symmetry with the unordered lists

Link to [[wikipage]] Link to wikipage

Obvious conflict with the syntax of WikiMacros. Fix is obvious as well: anything not recognized as a macro will be linkified in the wiki: realm (by default), instead of generating an error.

See also HelpOnLinking#Linking.

[[URL|linkname]] linkname in #4356 (though not optimal)
== Large heading
=== Medium heading
==== Small heading

Large heading

Medium heading

Small heading

in trunk
No
linebreak!

Use empty row (sic)

No linebreak!

Use empty row (sic)

Force\\linebreak Force
linebreak
----
Horizontal line

Horizontal line

Note: for symmetry with [[br]] we could have an [[hr]] macro

{{Image.jpg|title}} {{Image.jpg|title}} see also HelpOnLinking#Embedding
|=|=table|=header|
|a|table|row|
|b|table|row|

|=|=table|=header| |a|table|row| |b|table|row|

Probably a bit too extreme, as we already have issues like #6630. However, it must be noted that nearly the same example works with double pipes:

||=||=table||=header||
||a||table|row||
||b||table||row||
tableheader
atablerow
btablerow
{{{
== [[Nowiki]]:
//**don't** format//
}}}
== [[Nowiki]]:
//**don't** format//

Btw, another TODO for row separators:

|------------------- <text>

the <text> should be ignored, or placed in an HTML comment.

See also:

Note: See TracWiki for help on using the wiki.