Specifications for a MoinMoin wiki editor
Contents
Reference and help documents
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
Element |
Start |
Markup |
HTML |
Display |
||||
Heading |
1 |
Normal |
<h1>Heading 1</h1> |
Normal Heading 1
Heading 2
Heading 3
Heading 4
Heading 5 |
||||
Italic |
|
''text'' |
<i>text</i> |
text |
||||
Bold |
|
'''text''' |
<b>text</b> |
text |
||||
Bold italics |
|
'''''text''''' |
<b><i>text</i></b> |
text |
||||
Underline |
|
__text__ |
<u>text</u> |
text |
||||
Superscript |
|
a^2^ |
a<sup>2</sup> |
a2 |
||||
Subscript |
|
H,,2,,O |
H<sub>2</sub>O |
H2O |
||||
Larger text |
|
~+larger+~ |
|
larger |
||||
Smaller text |
|
~-smaller-~ |
|
smaller |
||||
Inline text (or typewriter) |
|
text { { { inline } } } text or |
|
text inline text |
||||
Line break |
1 |
[[BR]] |
<br> |
|
||||
Paragraph |
1 |
"blank line" |
<p> |
|
||||
Horizontal Rules |
1 |
---- to ---------- |
<hr> with "size" attribute |
|
||||
Lists and Indenting |
2-n |
1 to n blanks followed by either * or 1. or i. or a. or A. |
<li> with "type" attribute or + <ol>, <ul> & |
|
||||
Indenting |
2-n |
None |
<blockquote>... |
None |
||||
Simple tables |
|
||row1col1||row1col2|| |
<table><tr><td> . . . |
|
||||
Internal links |
|
|
CapSizedText [BR]] any name with blanks |
|||||
External links |
|
http://www.arcelor.com |
<a href=http://www.abc.com> </a> |
|||||
Insert image |
|
attachment:filename.ext |
<img>... |
"inserted image" |
||||
Insert file |
|
attachment:filename.ext |
<http://...> |
filename.ext |
||||
Other editor features |
|
|
|
Basically this should be like Mozilla composer, but use wiki markup instead of html. All these must use the platform key shortcuts
This should be toggle or integrated button
Wiki markup
Language support:
Others:
|
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 |
{ { { |
Terms |
Term:: Description |
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 2005-03-23 08:43:58