At line 1 changed one line |
Hello, |
Hello !!! |
At line 8 changed one line |
= personal position |
[{TableOfContents title='sommaire'}] |
At line 10 added 3 lines |
|
!!! personal position |
|
At line 22 changed one line |
= glossary |
!!! glossary |
At line 55 changed one line |
**section = heading / content :** Major semantic tailoring of a page. \\ |
**section !!! heading / content :** Major semantic tailoring of a page. \\ |
At line 62 changed one line |
= page structure |
!!! page structure |
At line 64 removed one line |
=== page component tree |
At line 68 added 4 lines |
|
|
!!!!!! page component tree |
|
At line 75 added one line |
|
At line 77 added one line |
|
At line 83 changed one line |
(A heading could be a single-section block, thus both a section and a block ? Then, how to mark a subtitle ? There should be a tag, or what ? Splitting a heading with a visual newline is not coherent, as it's not a tag. If we choose a new tag (e.g. '!'), then a heading would become a block with 2 alineas. Similar to a definition block tagged with ;term:explanation) |
(A heading could be a single-section block, thus both a section and a block ? Then, how to mark a subtitle ? There should be a tag, or what ? Splitting a heading with a visual newline is not coherent, as it's not a tag. If we choose a new tag (e.g. '!!!'), then a heading would become a block with 2 alineas. Similar to a definition block tagged with ;term:explanation) |
At line 91 changed one line |
=== semantic page structure |
!!!!!! semantic page structure |
At line 94 changed 3 lines |
? ==> this element can be present or not (0 or 1 time) \\ |
+ ==> this element can be repeated (1 or more times) \\ |
¤ ==> this element can be present any number of times (0, 1 or more times) |
? !!!!!!> this element can be present or not (0 or 1 time) \\ |
+ !!!!!!> this element can be repeated (1 or more times) \\ |
¤ !!!!!!> this element can be present any number of times (0, 1 or more times) |
At line 108 changed 2 lines |
imported_block : {{//type// //ID// (|//parameter//=//value//)*}} |
computed_block : ((//type// //ID// (|//parameter//=//value//)*)) |
imported_block : {{//type// //ID// (|//parameter//!!!//value//)*}} |
computed_block : ((//type// //ID// (|//parameter//!!!//value//)*)) |
At line 112 changed one line |
=== markup page structure |
!!!!!! markup page structure |
At line 120 changed one line |
=== alinea components structure |
!!!!!! alinea components structure |
At line 122 changed 2 lines |
title : =+ text NL |
sub_title : !+ text NL |
title : !!!+ text NL |
sub_title : !!!+ text NL |
At line 134 changed one line |
=== inline text structure |
!!!!!! inline text structure |
At line 137 changed one line |
styled_text : distinct_text | important_text | litteral_text | monospace_text |
styled_text : distinct_text | highlight_text | litteral_text | monospace_text |
At line 139 changed one line |
important_text : **plain_text** |
highlight_text : **plain_text** |
At line 147 changed one line |
=== style markers : |
!!!!!! style markers : |
At line 150 changed one line |
important : ** (conflict with bullet list) |
highlight : ** (conflict with bullet list) |
At line 156 changed 2 lines |
=== special tags |
raw character tag (escape) : '\' or '~' \\ |
!!!!!! special tags & marks |
**raw character tag** (escape) : {{{'\' or '~'}}} \\ |
At line 160 changed 2 lines |
glue & scissor : '__' or '\\' \\ |
//This mark is used to make a visual line out of two source lines, or the contrary -- may be useful ? Don't confuse with the alinea / visual line distinction . This mark sets a difference between source and displayed text. Very bad indeed ! Rare, cryptic & confusing.// |
**sub_alinea mark** : escape, if available |
At line 170 added one line |
//Used to split an alinea in visual/semantic lines. Not a tag. Should be NL !!!!!!!!!// |
At line 172 added 2 lines |
**glue & scissor mark** : {{{'__' or '\\'}}} \\ |
//This mark is used to make a visual line out of two source lines, or the contrary -- may be useful ? Don't confuse with the alinea / visual line distinction. This mark sets a difference between source and displayed text. Very bad indeed !!! Rare, cryptic & confusing.// |
At line 165 removed one line |
= what I prize in creole |
At line 176 added 3 lines |
|
!!! what I prize in creole |
|
At line 169 changed one line |
* the focus on the most important features |
* the focus on the most highlight features |
At line 175 changed one line |
= what I miss / what I don't like |
!!! what I miss / what I don't like |
At line 179 changed one line |
* page title (!=page_name) & subtitle |
* page title (!!!!!!page_name) & subtitle |
At line 181 changed one line |
* "distinct" (example, quotation, remark, advice) & "important" segments parallel to "distinct" (italic) & "important" (bold) segments |
* "distinct" (example, quotation, remark, advice) & "highlight" segments parallel to "distinct" (italic) & "highlight" (bold) segments |
At line 185 changed one line |
* --nowiki and monospace should be totally distinct !-- //they are (or will be ?) ! (thanx to [[YvesPiguet]] for the precision) |
* --nowiki and monospace should be totally distinct !!!-- //they are (or will be ?) !!! (thanx to [[YvesPiguet]] for the precision) |
At line 200 added 103 lines |
|
|
!!! using words : *pro* internationalisation |
|
**basic error:**\\ |
Using words in wiki syntax is //not// an obstacle to internationalisation, rather the contrary ; as long as the author can use his/her own language !!! |
Such (key)words need not and should not be used for prominent formatting, such highlight or list. Rather it may be very useful for precising elements. Especially for imported blocks, or variables. This allows using the same syntax for analog , but distinct element types. For instance : |
|
((page navigation | dynamic!!!true)) |
|
((box new_page | title!!!"crear nov paj")) |
((image logo.png | tag!!!"logo" | hSize!!!55)) |
|
(()) means import -- a keyword shows the type of element -- then its id/location -- and possible parameters. |
|
Technically, it's really easy to do. The best would be to include the available translations into the parser. Otherwise, it can be done in the editor, which even gives the user the possibility to change the lexicon. |
Both solutions are based on a dictionary. |
**build lexicons** |
* give each feature a descriptive name/ID, such as "dynamically_imported_image" |
* choose a clear keyword for each ID in all languages |
* from this build a lexicon per language |
**write in your own language** |
* the site admin and/on the user can choose the language |
* separating foreground & background : the editor reads and displays keywords in the chosen language but stores matching IDs |
//or// |
* the parser transcodes to html according to the language parameter |
**distribute** |
* the real source holds IDs, not language-dependant keywords |
* the lexicons are present on all sites who know creole |
* other authors read the same source in their //own// language |
|
//Note that this principle works for any programming language !!! With such an supple editor -- foregroung/background separation --, your could programm C or python or whatever in your own mother tongue. And even change language features to fit your view: I would change assignment to ':' instead of '!!!'.// |
|
|
|
!!! marking components |
todo |
|
|
|
!!! tags : choosing the right character for the right use |
//buiding a matching table// |
|
Below all non-control non-letter non-digit 7-bit-ASCII characters/keys. We should stick to these, as other characters may be problematic with non-english keyboards like mine ;-) : |
{{{!!!}}} " # $ % & ' ( ) * + , - . / : ; < !!! > ? @ [ \ ] ^ _ ` { | } ~ NL SP TAB |
|
!! what do people do ? |
//human-to-human text// |
How de the people already format, style & layout plain text ? |
see [[http://usemod.com/cgi-bin/mb.pl?SillyTextFormattingRules]] |
Especially numbered lists & line breaks. |
|
!! feature --> character table |
|
|== feature |== characters |== fit |== example |== note ] |
|== style | | | | simple char at start of line for alinea style | |
| highlight | ** !! | !! | | * conflict with list\\! good | |
| distinct | // | // | | perfect ==? | |
| monospace | ## !! __ | {{{==}}} | | # conflict with anchor & list | |
| litteral/escape | ~ ~~ {{{{{{}}}}}} \ {{{\\}}} "" '' | " | | " pb at start of line? | |
|== link/pointer | | | | can be treated as component | |
| to page | {{{[[]]}}} | | | | |
| alias | {{{|}}} \ | | | {{{|}}} conflict with table\\see parameter | |
| categorized page\\language\\interWiki| {{{:}}} \ | | | {{{:}}} conflict with definition & subTitle | |
| to anchor/target | # @ | | {{{[[page@target]]}}} | | |
| anchor/target | {{{## @@}}} | {{{@@}}} | @@target@@ | | |
|== layout | | | | | |
| new alinea\\paragraph | NLNL NL § {{{\\\}}} | | | see alinea break\\§ similar to list & title\\NLNL good display | |
| title | == == + | | | | |
| subTitle | : _ | _ | | : similar to def meaning\\_ good ? | |
| bullet list item | * . | . | | * conflict with highlight | |
| number list item | # ? n 1 | | | # conflict with monospace\\why not 'n' or a real number? | |
| def term | ; ? | ? | | ; not explicit at all\\? conflict with variable | |
| def meaning | : | : | | :conflict with category link | |
| table cell | {{{|}}} | {{{|}}} | | | |
| table head | {{{|==}}} | {{{|?}}} | | | |
| horiz. rule | ---- | ---- | | yep ! | |
|== blocks | | | | | |
| component | {{{{{}}}}} | | {{image address}} | | |
| (x)html | {{{<<>>}}} | | {{{<<span class=="abstract">>}}} | | |
| code | (()) | | ((python {{{|}}} print("nohtyp"))) | parenthesis ? | |
|== line breaks | | | | | |
| alinea break | {{{\\}}} NL | NL | | not needed !!==\\not a tag | |
| scissor/glue | {{{\\}}} __ | | | avoid == (confusion)\\not a tag | |
|== elements | | | | | |
| parameter | {{{|}}} \ ? | | | {{{|}}} conflict with table\\see alias | |
| variable | %% ?? | | %%page_name%% | ? conflict with defintion\\may be considered as component | |
| | | | | | |
| | | | | | |
|
(*) A link may also be considered as a generated component. This choice would be consistent with the facts : a link is not only text, and it accepts parameters. Syntax : [[link page | alias]]. Pb : it makes longer a very common feature. But the real typing pb lies in the double double bracket, not in typing a short word, as there's already text to type in the address. Or what ? Side advantage : it makes brackets or braces free for something else (placeholder - variable - what else ?). |
|
!!! character --> feature table |
todo -- the opposite of above, to better see free & matching characters |
|
|
|
!!! newline / paragraph |
[[the user's newline]] |
|
!!! customization alternative |
[[customization alternative]] |
|
At line 189 changed one line |
//life is strange |
|
//life is strange// |