A PerlLanguage WikiEngine by BoLeuf, similar to QuickiWiki, except that it allows multiple wikis to run from the same code base. New wikis are defined by copying & customizing a generic gateway script that calls the main library wiki.lib, which handles the real work of serving/editing pages.

Included in the book ''TheWikiWay'' by BoLeuf and WardCunningham, but that version has munged line endings. A fixed version is downloadable from http://leuf.net/ww/tww?WikiWaySources.

'''Features'''

* Standard WikiWord links (no FreeLink''''''s)
* BackLink''''''s and RecentChanges
* TabFreeMarkup
* Raw HTML blocks
* WantedPages
* Forward links (add '<<A' to page B, and a link to B is appended to A; handy for categorizing and building RoadMap''''''s)
* Page section headings automatically indexed at the top of page
* Pages stored as text files
* Page templates - one per wiki
* VersionControl via RevisionControlSystem if desired
* A number of configurable options, but most don't need tweaking
* Free for non-commercial use

Getting ClusterWiki running on a Windows box takes some work (figuring out path names, etc), but once it's configured it just keeps on running. Setting up additional wikis is a snap.

RCS note: on WindowsTwoThousand (and, I assume, WindowsNt/WindowsXp), you may have to run your Web server process as the same user who has the locks in RCS's ",v" files. If not, RCS could fail silently. This problem does not occur on WindowsNinetyFive, and doesn't always happen on Win2K. (This may be a problem with user/file permissions, rather than RCS or ClusterWiki itself.)

----

'''Alternate Text Formatting Rules'''

To take full advantage of ClusterWiki, you'll have to read ''TheWikiWay'' or the source code. Doing so reveals some alternate TextFormattingRules, as well as the way to delete a page.

Some formatting rules:

* three different ways to created a numbered list item: 1. 1) #
* tables with cells delimited by ||
* three levels of headings (!!one !!!two !!!!three); each page has an index of headings at the top
* double-bracketed links become numbered [[h''''''ttp://c2.com/cgi/wiki?W''''''elcomeVisitors]] -> [1]
* buttons for search, page rename, WantedPages, etc.
* starting a line with "" makes it a block quote
* starting a line with > makes it a citation
* escape markup processing by bracketing text with [esc]...[/esc] (good for code samples; you can also use [sic]...[/sic] or [literal]...[/literal])
* raw HTML can be added between <html>...</html> delimiters

To delete a page on ClusterWiki, rename it to "KILLpageNOW".

----

'''Testimonials'''

Every time I want to add a feature to ClusterWiki -- e.g., the ability to use raw HTML -- a HappyCollision occurs. Also, it took just 47 lines to add support for GraphViz, GnuPlot, and LaTex. It's easy to extend this feature to other programs that take a text description and return an image.

----
CategoryWikiImplementation