(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.

This page (revision-17) was last changed on 18-Oct-2007 19:14 by YvesPiguet  

This page was created on 26-Feb-2007 20:03 by 77.128.31.184

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 1 changed one line
=Proposal=
%%information
Double angle brackets accepted in [[Creole Additions]].
%%
At line 3 changed one line
//See also [[MultilinePlaceholderProposal]] for an alternative.//
==Proposal==
At line 5 changed one line
Support one form of markup, the content of which may be used in any form a given wiki software desires to.
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[{Hidden="... as JSPWiki does :-)"}]).
At line 7 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.
* Where these conditions are violated, the recommended rendering for the remainder of text is a preformatted-block (thus highlighting the error and avoiding any further issues due to extension element content unintendedly containing wiki-markup). Optionally, a highlighted error message may be added at the start of the element to explain the cause of the unexpected formatting to the content writer.
==Choice of markup==
**1. Triple-Square brackets:**
At line 24 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 12 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 39 added 32 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) :-). Really hard to type on non-English keyboards, requiring four different three finger-combination in the right sequence...
==Generic representation==
(This proposes an optional extension of the base-proposal, based on ideas by [[Jared Williams]] and other proposed during talk of the original proposal)
Generic extension elements greatly simplify all Wiki specific changes to content (including changes that may be necessary during major version upgrades) by narrowing the affected locations. They also enable WYSIWIG-Wiki editors to recognize parts as extensions, without having to interpret them.
The latter functionality could be taken still further (proposed in [[Talk.GenericExtensionElementProposal|discussions]]), by adding a cached rendered version of the extension element ("alt-text", "cached-result"). This is appropriate only for some extensions (e.g. not extensions adding markup or CSS). This functionality would benefit from being specified in Creole rather than being left to the extenders and implementers. To keep the constraints inside the extension element minimally, I propose to not use something like {{{[[[extension|cached-result]]]}}} but rather imagine it as piping the results into a second extension element:
{{{
[[[extension]]]|[[[optional cached-result]]]
}}}
Generic Creole editors could then display the content of the second element, perhaps with Javascript contract/expand functionality, and with warning their users that changes inside will be ignored.
The cached-result is automatically generated, so ease of typing is no concern here.
At line 16 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 18 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 20 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 79 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.
At line 83 added 3 lines
----
//See also [[MultilinePlaceholderProposal]] for a similar, perhaps conflicting proposal.//
----
At line 87 added one line
At line 27 changed one line
The major advantage of this is that with a managing-and-migrating-content use case, only content inside the extension box needs to be transformed. The major problem with migration is that as a side-effect of wiki-markup quite a number of "normal" text needs to be escaped (often occurrences of CamelCase, !=-*# on the first line, [, etc.). With a Generic Extension Element, porting content becomes much easier.
The major advantage of this is that with a managing-and-migrating-content use case, only content inside the extension box needs to be transformed. The major problem with migration is that as a side-effect of wiki-markup quite a number of "normal" text needs to be escaped (often occurrences of CamelCase, !=-*# on the first line, ~[, etc.). With a Generic Extension Element, porting content becomes much easier.
At line 42 removed one line
Version Date Modified Size Author Changes ... Change note
17 18-Oct-2007 19:14 7.488 kB YvesPiguet to previous Double angle brackets have been accepted
16 18-Oct-2007 17:18 7.466 kB ChuckSmith to previous | to last accepted in Creole Additions
15 26-Sep-2007 09:47 7.41 kB ChuckSmith to previous | to last restore
14 26-Sep-2007 02:05 7.438 kB 161.200.255.162 to previous | to last
13 26-Sep-2007 02:01 7.424 kB 161.200.255.162 to previous | to last
12 15-Apr-2007 12:30 7.41 kB GregorHagedorn to previous | to last
11 15-Apr-2007 12:24 7.254 kB GregorHagedorn to previous | to last
10 15-Apr-2007 12:22 7.132 kB GregorHagedorn to previous | to last
9 28-Mar-2007 10:29 7.114 kB Gregor Hagedorn to previous | to last minor revisions, and moving ideas from discussion into proposal
8 27-Mar-2007 18:31 5.546 kB 194.94.56.12 to previous | to last Revision of proposal by Gregor
7 02-Mar-2007 15:37 3.238 kB 194.94.56.12 to previous | to last Clarified: proposed as inline, multiline element
6 02-Mar-2007 15:35 3.207 kB 194.94.56.12 to previous | to last Clarified: proposed as inline, multiline element
5 02-Mar-2007 15:06 2.988 kB 194.94.56.12 to previous | to last typos corrected
4 02-Mar-2007 15:02 6.325 kB 194.94.56.12 to previous | to last typos corrected
3 02-Mar-2007 14:58 2.989 kB 194.94.56.12 to previous | to last
2 26-Feb-2007 20:37 2.981 kB YvesPiguet to previous | to last Cf. MultilinePlaceholderProposal
1 26-Feb-2007 20:03 2.912 kB 77.128.31.184 to last
« This page (revision-17) was last changed on 18-Okt-2007 19:14 by YvesPiguet