At line 3 changed one line |
Support one form of markup, the content of which may be used in any form a given wiki software desires to. The markup should not conflict with other forms, is //not// required to start on a new line. The content of the extension element may contain any text, including line breaks, except the end-of-extension element markup. |
Support one form of markup, the content of which may be used in any way a given wiki software desires to. Examples for such extensions include: |
* additional formatting (e.g., support for CSS styles, color highlighting), |
* dynamic Wiki actions (e.g., recent changes, index, back-link lists, locked pages, user lists), |
* special rendering plugins (e.g., complex tables), |
* programming or macro support (e.g., setting and accessing variables, hidden comments). |
At line 5 changed one line |
Example |
The extension element markup may be nested in any other markup and is //not// required to start on a new line. The content of the extension element may contain any text, including line breaks, except for the opening and closing extension element markup-codes. |
|
To increase the degree to which Wiki markup is [[Non Destructive]] (i.e. accidental use or forgetting to close it leads to "disappearance" of potentially large parts of a page), the following specifications are added: |
* The extension element may not be nested and is required to be closed. |
* The expected rendering where any of these conditions is violated is the literal content of the element, with a highlighted error message added at the start of the element. |
|
|
==Choice of markup elements== |
|
**1. Triple-Square brackets:** |
At line 20 added 9 lines |
[[[TableOfContents title='Inhaltsverzeichnis' level='2-4']]] |
}}} |
|
(Note: In the examples the text inside the extension element markup would be meaningful only to a specific Wiki software and is not part of this proposal) |
|
**Advantages:** No additional character has to be analyzed and escaped! The extension from double-bracket for links (i.e. dynamic creation of hyperlinks based on incomplete information) is logical at least for extensions dealing with dynamic creation of table of content, back-links, etc. |
|
**2. Double-less-than-greater-than:** |
{{{ |
At line 10 changed one line |
In the example, the text inside "<<>>" would be meaningful only to a specific Wiki software. The use of "<<>>" conflicts with [[Placeholder]], but see below. An alternative would be to use "{{{[{x}]}}}", mentioned elsewhere as "plugin markup". |
**Advantages:** Rare in normal text. |
**Disadvantages:** Double "<<>>" do appear in text (semantics: much larger, much smaller). The use of "<<>>" conflicts with [[Placeholder]], but see below. |
At line 35 added 19 lines |
**3. Triple-less-than-greater-than:** |
{{{ |
<<<TableOfContents title='Inhaltsverzeichnis' level='2-4'>>> |
}}} |
|
**Advantages:** Almost non-existent in normal text. |
|
|
**4. Brace-Bracket combinations:** |
{{{ |
[{TableOfContents title='Inhaltsverzeichnis' level='2-4'}] |
{[TableOfContents title='Inhaltsverzeichnis' level='2-4']} |
}}} |
|
**Advantages:** Rare in normal text. Used in some Wiki software (e.g. JSPWiki) |
**Disadvantages:** Used in some Wiki software (e.g. JSPWiki) :-) |
|
|
|
At line 14 changed one line |
One problem of current Wiki software is that content is not portable from one software to another. Much content on the web will simply have to disappear, if the software dies of becomes more and more unreliable, no longer compatible with rest of system setup, etc. |
The primary reason is that content migration (but also parser building for a WYSIWIG editor) is hugely complicated if most Wikis supporting Creole will support Creole //in addition// to their own markup. The analysis of markup-sequences that have to be escaped will remain a complicated task. |
At line 16 changed one line |
While not the primary goal of creole, it appears that the task of migrating content could be hugely simplified by two simple steps. |
As a result, the content of current Wiki software is hugely expensive to port from one software to another. This negatively affects wikis, because content author do not desire their content to get lost if a software dies of becomes more and more unreliable, no longer compatible with rest of system setup, etc. |
At line 18 changed one line |
1. Creole supports an extension box. The content of this box could then be used in any way a specific wiki software desires to provide dynamic content (indices, backlinks), hidden comments, complex formatting (especially tables), microformats, semantic web markup, special character support, color, css-markup, etc. Anything that is not covered by Creole itself. |
While content migration is not the primary goal of Creole, it appears that the task of content migrating could be hugely simplified by two simple steps. |
At line 62 added 2 lines |
1. Creole supports an extension element. The content of this "box" could then be used in any way a specific wiki software desires to provide dynamic content (indices, backlinks), hidden comments, complex formatting (especially tables), microformats, semantic web markup, special character support, color, css-markup, etc. Anything that is not covered by Creole itself. |
|