'''Specifications for a !MoinMoin wiki editor''' <> = Reference and help documents = * SyntaxReference * HelpOnEditing = How should it work = * When calling the editor, the current page will be replaced by the "edited text" * The text will be displayed, as far as possible, with real formatting * The "html" button will be replaced by a "code" button displaying the actual wiki code * The "preview" button will use the wiki's display features to show the result either at the bottom of the page, or in a popup window = Remarks = * This is a first draft of the specifications which are subjects to changes * The "html code" and "display" columns are just there as illustrations and might differ from real code = To implement first = ||<:rowbgcolor="#F0F0F0">'''Element''' ||<:> '''Start''' ||<:> '''Markup''' ||<:> '''HTML''' ||<:> '''Display''' || ||<|1^(>Heading ||<|1^(> 1|| Normal <
> {{{= Heading 1 =}}} <
> {{{== Heading 2 ==}}} <
> {{{=== Heading 3 ===}}}<
> {{{==== Heading 4 ====}}}<
> {{{==== Heading 5 ====}}}||

Heading 1

<
>

Heading 2

<
>

Heading 3

<
>

Heading 4

<
>
Heading 5
||<>|| || Italic || ||{{{''text''}}}|| text || ''text''|| || Bold || || {{{'''text'''}}}|| text ||'''text'''|| || Bold italics || ||{{{'''''text'''''}}} ||{{{text}}}|| '''''text''''' || || Underline || ||{{{__text__}}}|| text || __text__|| || Superscript || ||{{{a^2^}}}|| a2||a^2^|| || Subscript || ||{{{H,,2,,O}}}|| H2O ||H,,2,,O|| || Larger text || ||{{{~+larger+~}}}|| ||~+larger+~|| || Smaller text || ||{{{~-smaller-~}}} || || smaller || || Inline text (or typewriter) || ||{{{text { { { inline } } } text}}} or <
> text {{{`inline`}}} text|| ||text `inline` text || || Line break || 1 || {{{[[BR]]}}} ||
|| || || Paragraph ||1 ||{{{"blank line"}}}||

|| || || Horizontal Rules ||1|| {{{---- to ----------}}} <
> (from 4 to 10 dashes)||{{{


}}} with "size" attribute|| || || Lists and Indenting ||2-n ||1 to n blanks followed by either * or 1. or i. or a. or A.||
  • with "type" attribute or +
      ,
        &|| || ||Indenting ||2-n ||{{{None}}}<
        >{{{ One}}}<
        >{{{ Two}}}<
        >(1 to n blanks)||{{{
        }}}...||{{{None}}}<
        >{{{ One}}}<
        >{{{ Two}}}|| ||Simple tables || ||{{{||row1col1||row1col2||}}}<
        >{{{||row2col1||row2col2||}}}||{{{
        }}} . . .||<>|| ||Internal links <
        >(wiki links)|| ||CapSizedText <
        >or<
        > [[any name with blanks]]|| || CapSizedText [BR]] any name with blanks|| ||External links || ||http://www.arcelor.com <
        >or<
        >[[http://www.arcelor.com]] <
        >[[http://www.arcelor.com|Arcelor Internet site]] ||{{{ }}}<
        ><
        >{{{ ABC}}}|| http://www.abc.com <
        > http://www.abc.com <
        >[[http://www.abc.com|ABC]]|| ||Insert image|| || {{{attachment:filename.ext}}}|| {{{}}}...|| "inserted image"|| ||Insert file|| ||{{{attachment:filename.ext}}}|| {{{}}}|| filename.ext|| ||Other editor features || || || ||<> || Comments: * Larger / smaller text has no control element in [[FCKeditor]]. * Same for hor. rule with non-standard thickness. * Wikimarkup editor / Wysiwyg editor ''toggle'' would be nice, but has to be seen, if that is possible with reasonable effort. * same for language tagging of content, especially for languages needing special treatment (like rtl). = To be implemented later = ||Framed text <
        >(block quote) ||{ { { <
        >framed text on several lines <
        >} } }|| ||Terms <
        >&<
        >Labels||{{{Term:: Description}}}<
        >{{{Label:: Definition}}}|| ||Insert anchor||{{{[[Anchor(anchorname)]]}}}|| ||Reference to an anchor||{{{[#anchorname]}}} or {{{[#ancharname label text]}}}|| ||Advanced tables ||see HelpOnTables|| ||Smileys|| see HelpOnSmileys|| ||Insert macro ||{{{[[MyMacro( )]]}}}|| ||Change font and text colour|| Via specific parser or macro {{{[[color( )]]}}}|| = Ignored tags (displayed as is) = * Double squares: * Macros: {{{[[MyMacro]]}}} * Anchors: {{{[[Anchor(anchorname)]]}}} * Single squares: * renamed links: {{{[wiki:OldName New Name]}}} * reference to an anchor: {{{[#anchorname] or [#anchorname label text]}}} = Hidden text = * Comments (line beginning with {{{##}}}) * Parser instructions (line beginning with single {{{#}}}) = Suggestion: Highlighted text = * Substitution text in green: To show which part of a template page should be replaced, display in green colour a text surrounded by double dashes: * {{{Last Name: --Name--}}} * Macros and Anchors in red: * {{{[[MyMacro]]}}} * {{{[[Anchor(anchorname)]]}}} = Discussion = == Other editor features == This should be toggle or integrated button * Page View * What is this? preview or preview without editor or the HTML editor? * Code View * What code, HTML oder wiki markup? ---- * I would suggest no to offer the HTML source to the user. This is only confusing, is a third format the user has to bother and increases the possible problems when converting the HTML back to wiki markup. * Switching from graphical into wiki markup editing and vice versa should not be difficult to implement. * You would need to round-trip the current source through the server because the client cannot convert between both modes. -- FlorianFesti <>