DocumentKuikku
Kuikku Web is a simple, complete web server for idea capture and
collaborative writing. It borrows many ideas from ward@c2.com's
WikiWikiWeb.
All queries are some form of document name. The general form is
http://localhost:port/verb=Name where port defaults to 8000.
Supported queries include:
- lookup= (find a page)
- edit= (edit a page)
- refs= (show all pages that reference this one)
- report= (build a report from all links reachable from this page)
- allpages (list all available pages)
- / (simple pointer to the top level word, with some documentation)
- server= with specific names
- reboot (restart the server with original arguments)
- backup (generate a backup with a datestamp name)
- down (take the server down completely)
The server also supports a single post request, as generated by the
edit= page to submit new text.
No authentication is (as yet) provided for.
The pages themselves are simple text, with some
DocumentedConversionRules to generate html for them.
The server is invoked with two optional command line arguments, the
first is the name of the database (defaulting to "wikitest") and the
second is the listener port number (defaulting to 7999.)
DocumentedConversionRules
The DocumentedConversionRules for Kuikku pages are simple, and
designed to interfere as little as possible with simple writing.
- no html is directly available; special characters are protected.
- <tab>*<space> begins an item in an itemized list.
- A string of three or more - (dash) characters becomes a <br>
- a blank line becomes a <p>
- specially capitalized words are made into page links.
The capitalization rules are currently defined by a single regexp:
- $WikiWord="([A-Z]+[a-z]*[A-Z]+[A-Za-z]*)";
In english,
- two or more letters
- first one uppercase
- at least two uppercase
This may allow too many things to become tags, but permits most
acronyms to be tagged with links and thus be defined.
In the translation, wikiwords that don't have corresponding pages yet
are marked with a question mark (?) and link directly to and edit page
to allow efficient creation.