At line 1 changed one line |
Hello ! |
Hello !!! |
At line 11 changed one line |
= personal position rather looking for a basically better wiki markup language, than for one compatible with the present markups. So that principles such as |
!!! 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 |
At line 23 changed one line |
= glossary |
!!! glossary |
At line 56 changed one line |
**section = heading / content :** Major semantic tailoring of a page. \\ |
**section !!! heading / content :** Major semantic tailoring of a page. \\ |
At line 63 changed one line |
= page structure |
!!! page structure |
At line 65 removed one line |
== page component tree |
At line 68 added 4 lines |
|
|
!!!!!! page component tree |
|
At line 86 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 94 changed one line |
== semantic page structure |
!!!!!! semantic page structure |
At line 97 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 111 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 115 changed one line |
== markup page structure |
!!!!!! markup page structure |
At line 123 changed one line |
== alinea components structure |
!!!!!! alinea components structure |
At line 125 changed 2 lines |
title : =+ text NL |
sub_title : !+ text NL |
title : !!!+ text NL |
sub_title : !!!+ text NL |
At line 137 changed one line |
== inline text structure |
!!!!!! inline text structure |
At line 150 changed one line |
== style markers : |
!!!!!! style markers : |
At line 159 changed one line |
== special tags & marks |
!!!!!! special tags & marks |
At line 164 removed one line |
//Used to split an alinea in visual/semantic lines. Not a tag. Should be NL !!!// |
At line 170 added 2 lines |
//Used to split an alinea in visual/semantic lines. Not a tag. Should be NL !!!!!!!!!// |
|
At line 167 changed one line |
//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.// |
//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 171 changed one line |
= what I prize in creole |
!!! what I prize in creole |
At line 181 changed one line |
= what I miss / what I don't like |
!!! what I miss / what I don't like |
At line 185 changed one line |
* page title (!=page_name) & subtitle |
* page title (!!!!!!page_name) & subtitle |
At line 191 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 196 changed one line |
= tags : choosing the right character for the right use |
!!! using words : *pro* internationalisation |
At line 204 added 39 lines |
**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// |
|
At line 199 changed one line |
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ NL SP TAB |
{{{!!!}}} " # $ % & ' ( ) * + , - . / : ; < !!! > ? @ [ \ ] ^ _ ` { | } ~ NL SP TAB |
At line 201 changed one line |
== character <--> use matching table |
!! 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. |
At line 203 changed 30 lines |
|= feature |= characters |= best\\tag |= best\\use |= example |= note ] |
|= style | | | | | | |
| highlight | * ! | ! | | | | |
| distinct | / | / | / | | | |
| monospace | # = | = | | | | |
| litteral/escape | { \ = | | | | | |
|= link/pointer | | | | | | |
| to page | [[]] | | | | | |
| to anchor/target | # @ | @ | | [[page@target]] | |
| anchor/target | ## @@ | @@ | | | @@target@@ | | |
|= layout | | | | | | |
| title+subtitle | =: !: += | | | | | |
| bullet list item | . * | . | | | | |
| number list item | # ? | | | | | |
| definition | ;: ?: | ?: | | | | |
| table cell | {{{|}}} | {{{|}}} | | | | |
| table head | {{{|=}}} | {{{|?}}} | | | | |
|= blocks | | | | | | |
| imported | () | | | | (image address) | |
| generated | {} | | | | {toc} | |
| (x)html | <<>> | | | | <<span class="abstract">> | |
| code | | | | | | |
|= other elements | | | | | | |
| parameter | {{{|}}} | | | | | |
| variable | % ? | | | | | |
| new alinea | NLNL NL § {{{\\\}}} | | | | | |
| alinea break | {{{\\}}} | | | | | |
| scissor/glue | {{{\\}}} __ | | | | | |
| | | | | | | |
| | | | | | | |
!! feature --> character table |
At line 234 changed one line |
= using words : *pro* internationalisation |
|== 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 | |
| | | | | | |
| | | | | | |
At line 290 added one line |
(*) 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 ?). |
At line 292 added 2 lines |
!!! character --> feature table |
todo -- the opposite of above, to better see free & matching characters |
At line 238 removed one line |
= newline / paragraph : the big problem ! |
At line 297 added 2 lines |
!!! newline / paragraph |
[[the user's newline]] |
At line 300 added 3 lines |
!!! customization alternative |
[[customization alternative]] |
|