= Available Wiki Systems [] (ES) INTRODUCTION This file purports to contain information about 'wiki' systems which are available on the Internet. A wiki is a system which allows all visitors to a web-site to edit the pages, and create new pages, for that site. The editing and creation process is normally done through a web HTML form based interface Also included here is a section on 'plain text markup languages'. These are sytems which allow the writer to use some very basic structures in order to dictate how the text file will appear or be interpreted when it is transformed by a particular piece of software. The section on plain text markup languages is included here because almost all 'wikis' use some kind of plain text markup language in order to allow the user to edit the HTML pages. This is designed to achieve two things: the web-visitor does not need to know HTML, and the web-visitor does not need to install any piece of software in order to edit the web-pages (such as, for example, a wysiwyg HTML editor) since the normal HTML textarea form component can be used by the web-visitor to make changes to the existing web-page. This assumes, of course, that there is a piece of software running on the WebServer which is capable of transforming the plain text which the web-visitor creates or changes into an HTML format. INVISIBLE MARKUP LANGUAGE This is my idea of a better plain-text structuring. It contains as little actual markup as possible, and the markup which it does contain is unobtrusive. Allow the user to down load the source file in various formats: docbook, text, html. Have a 'view source' link to allow the user to see the plaintext behind and html doc. Have an [FAQ] tag which allows faq sections to be formatted properly. Have some symbols after the page title to determine things like, is a table of contents generated, numbering of headings, etc RELATED FILES * The Web collaboration review |/alexis-info/docs/web-collaboration-review|html|txt| This file contains some information about various kinds of web collaboration software, usually where the collaboration takes place through HTML forms, rather than a software component written in some other languae. WIKI SYTEMS * The MoinMoin Wiki|http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/MoinMoin| This is the wiki used by the http://www.docbook.org/wiki/ site. It is written in python and looks reasonably good. There seems to be a slight problem using this is the lynx browser because lynx may not be able to insert newline character in textareas (although it does seem odd), which makes it very hard to write text which will be formatted nicely. The tikiwiki Another system http://www.twiki.org This is a very widely used wiki system, (eg http://www.java.net) which is written in perl and runs as a cgi script. It has good 'differences', templates, access control and is generally fairly shmicko However it does suffer from the usual problem that the actual wiki plain text looks like a dogs breakfast because of all the strange little markup codes in it (although its still better than, say, html) http;//tavi.sourceforge.net Another system probably not as mature as above. NOTES ABOUT PLAIN/ MINIMAL TEXT MARKUP LANGUAGES The philosophy behind a 'plain text markup language' is to allow a writer to write documents in a very basic text editor (such as for example, Microsoft Notepad, or an HTML textarea form component) and then convert the text into other display and storage, and exchange formats using some kind of stream editor or a program. The transformation program recognises a set of simple 'structures' within the plain text, such as, for example, URLs beginning with a URL schema like http:// or nntp:// and terminated by a space character. Another feature of these 'minimal markup languages' is that the writer should be able to learn the basics of the format in a very short period of time, say, a few minutes. The term plain text markup language is possibly incorrect since mark-up seems to imply the existance of 'tags' of some sort, which are not necessarily present in a minimal text format. My idea is that a plain text language should be a compromise between the need to render or transform the text into a different format (such as for example, docbook XML or HTML) and the need for the original text to be readable in its untransformed state. This is where, I believe, many of the 'wiki' languages fail. For example, the wiki idea of using mixed case words such as ThisIsAWikiLink to create links between pages, in my opinion, violates the idea that the original text should be readable in itself. Another idea is that the plain text structure should encourage the editor to think about the document in a structured way, and to edit the document accordingly. For example, the writer should make an effort to decide in what section in a particular file or web-page her changes should be made or added. It is very common, when dealing with wiki systems, that the information becomes extremely disorganised. I do not agree with the idea (used in the 'apt' system) of using indenting to control section headings. INTERESTING MARKUP ELEMENTS The apt structure uses and <> to render text as italic and bold The moin moin language uses backticks (`) to render text in a fixed pitch font or as a 'code listing' or something similar. I like this because it is readable and it also harks back to the unix idea of back-ticks being a 'system exec' call, which seems appropriate since this format is often used for TEXT FORMATTING LANGUAGES * mjbishop plain text markup-language |/utils/| The web-site at http://www.ella-associates.org/alexis-info/docs/ has been created using scripts which recognise basic plain text structures. Features: attempts to preserve white-space in the HTML, by using nbsp elements and
tags. Tries to guess what is a hyperlink. Uses all upper-case text lines as section headings. Contains structures for links to various versions of the same document in the situation, say, where there is a text, html, and pdf version of the same document. The 'apt' (almost plain text markup language). This is to be found at http://www.xmlmind.com This minimal text language uses indenting to achieve formatting Features: Uses indenting to determine 'section headings' The markup structures used by the seq faq conversion script. Somebody called 'Eric Pement' maintains an FAQ about the 'sed' stream editor, and old and venerable Unix program. He generates the HTML of the faq using a Perl script which recognises certain structures in the plain text of the FAQ. The output uses CSS and is reasonably pleasant to look at, in my opinion. The moin moin wiki language.|http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/MoinMoin| This language is a variant of the normal wiki language In my opinion this system tends to suffer from 'link proliferation', since it is too simple to create a new link, which eventually interfers with the readability of the document Here is the markup summary -->> Emphasis: ''italics''; '''bold'''; '''''bold italics'''''; ''mixed '''bold''' and italics''; ---- horizontal rule. Headings: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; ===== Title 5 =====. Lists: space and one of * bullets; 1., a., A., i., I. numbered items; 1.#n start numbering at n; space alone indents. Links: JoinCapitalizedWords; ["brackets and double quotes"]; url; [url]; [url label]. Tables: || cell text |||| cell text spanning two columns ||; no trailing white space allowed after tables or titles --<< With comments by me: Emphasis: ''italics''; '''bold'''; '''''bold italics'''''; ''mixed '''bold''' and italics''; Looks fairly horrible in the text file. I dont really think it is necessary to give the user control over italics and bold and such purely formatting things. If you give the user this sort of control then they start to think in a 'visual' or 'presentation' oriented way rather than thinking in an 'informational way. I believe it is important that the user remains focussed on the informational content of what they are writing. ---- horizontal rule. Doesn't look that great in the text file, nor in the resulting HTML. Is this really a good way to divide information? Headings: Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; ===== Title 5 =====. This could be altered to just the leading equals sign. I think the leading and trailing = signs are ugly and unnecessary. Lists: space and one of * bullets; 1., a., A., i., I. numbered items; 1.#n start numbering at n; space alone indents. Links: JoinCapitalizedWords; I think this is very unreadable in the text file as well as in the HTML. Big mistake. How about something like [*] linktext ["brackets and double quotes"]; url; [url]; [url label]. Tables: || cell text |||| cell text spanning two columns ||; no trailing white space allowed after tables or titles This is not a bad idea, but I think all those vertical bars in the text file looks very bad in the text file. How about just start the line with || but then use fixed width text columns to indicate the table. This would at least look better but might present some parsing problems. Unformatted Blocks: {{{ and }}} to surround unformatted sections of text OK but ugly. I prefer my -->> and --<< ` (backticks) for inline unformatted sections This I like. It is simple and readable, but it will cause problems when displaying unix scriplets which contain these characters ...........