Hello,

I'm here as a simple amateur of all kinds of languages (including some human ones ;-)).
Discovered this project while searching for improvements for the [[http://www.wikidot.org | wikiDot]] markup, a really great wiki which engine is beeing delivered as open source. Have looked around, thought and designed //a lot// already. I'll try to expose the results of this reflexion progressively, here and on talk pages for specific topics.



= personal position

I'm rather looking for a basically better wiki markup language, than for one compatible with the present markups. So that principles such as
* no conflict
* not new
or
* (not really expressed but very present:) mostly used
are not relevant for me: they're rather second stage criteria. What I mean is that, to my opinion, these criteria are fundamental for a interwiki-only markup, precisely for mixing creole with local markup -- which sounds a bit alien to my ears. Otherwise
* author-friendliness
* **clarity/simplicity/consistency**
&
* speed to learn/memorize/master
are much more prominent goals.



= glossary

;**style tag**
A kind of mark/tag used to enclose a segment of text in order to apply the same formatting to the whole piece. \\
In crole, double characters \\
e.g. **important** [[link]]

;**layout tag**
A kind of mark/tag placed at the start of a logical_line in order to set its layout.

; **logical & visual newlines**
:A newline is a mark usually inserted by pressing the return/enter key. A newline is both a plain character that creates a new visual line and, in most cases, a tag that starts a new line-component (see comment about this below under 'page structure'). \\
Logically enough, a newline preceeded by an escape (plain-character) tag becomes a visual newline : it loses its tag function but remains a plain character, thus starting a new visual line without marking the end of the logical line.

bla bla bla ~
bla bla

; **logical & visual lines**
:A chunk of text ended by a newline mark. \\
In regular text, a logical line is a paragraph ; it can also be a simple line, a header, a list item, a table row, when started with the appropriate layout tag.\\
A //logical// line may be split into //visual// lines with a soft newline.

; **segment**
:A bit of text inside a logical_line \\
May be enclosed in delimiter tag to indicate its style.

; **component**
:Either a sequence of segments of the same type (e.g. a list made of list items), or a part of page included as a hole instead of beeing written (e.g. TOC, note list, image) -- see "page structure"

; **section = header / body**
: Major semantic tailoring of a page. A header is a segment ; a body is a sequence of blocks -- see "page structure"


 
= page structure
// please improve & criticize on talk page//

** note the major difference between //semantic// & //markup// page structures**

=== semantic page structure

{{{
page                : title body
title               : = regular_text NL
body                : block*
component           : header | paragraph_component | bullet_list | number_list | table | imported_component | computed_component 
header              : =(=)+ regular_text NL
paragraph_component : paragraph+
paragraph           : text NL
bullet_list         : bullet_list_item NL
bullet_list_item    : *+ text NL
number_list         : number_list_item NL
number_list_item    : *+ text NL
table               : table_row
table_row           : (|text)+ |
imported_component  : {{//type// //ID// (|//parameter//=//value//)*}}
computed_component  : ((//type// //ID// (|//parameter//=//value//)*))
text                : plain_text | styled_text
styled_text         : distinct_text | important_text | raw_text | monospace_text | link | variable
distinct_text       : //plain_text//
important_text      : **plain_text**
raw_text            : ??plain_text??
monospace_text      : ??plain_text??
link                : [[//address// (|//text/)?]]
variable            : <<//name//>>
plain_text          : (//list of valid text characters separated with '|')*
}}}

=== markup page structure
{{{
page    : title body
title   : = regular_text NL
body    : segment*
segment : header | paragraph | bullet_list_item | number_list_item | table_row | imported_block | computed_block
}}}

**n o t e s**

*
*
*



= what I prize in creole

* the word "creole"
* the consensus processus
* the focus on the most important features
* the trend toward intuitiveness (self-explaining tags)
* more & more



= what I miss / what I don't like

//topics that will be further explained below/later//

* page title (!=page_name) & subtitle
* sub-headers
* "distinct" (example, quotation, remark, advice) & "important" segments parallel to "distinct" (italic) & "important" (bold) segments
* syntax for all kinds of magic-words, variables & functions -- see for instance [[http://meta.wikimedia.org/wiki/Help:Variable | wikiMedia variables]]
* syntax for "imported" blocks (page, image, widget...)
* syntax for "computed" blocks (toc, index, page list...)
* nowiki and monospace should be totally distinct !
* syntax for native (x)html, including (java)scripts (I propose most simply to double <> tags to <<>>)