At the moment, there are three independent versions of it:
- The production version, based on the Snakelets app server and, quite frankly, in need of a reboot.
- A new, modernized rewrite designed to be WSGI compliant and much, much simpler
- A Clojure port that has been stalled largely due to lack of suitable Textile and Markdown libraries in either Clojure or Java
Since people like lists of features, here are a few (for the production version):
- 100% pure Python, with extensive UTF-8 support1
- Entirely self-hosting, running atop a modified (
1.51-rcarmo) Snakelets application framework2
- Completely filesystem-based (pages are stored on a directory structure, not a database)
- Heavily optimized HTTP processing:
- Completely markup-agnostic – all the internal processing relies on Beautiful Soup, and it ships with support for:
- Any markup engine that generates HTML can be added, and markup can be defined on a site-wide or page-per-page basis
- Has all the usual features, like:
- Has a number of unusual “Bliki”:Wikipedia:Bliki features, like a blog-like home page, linkblog support, and the SeeAlso table at the bottom of each page.
- Supports full-text indexing and search thanks to Whoosh
- The core code is “Open Source”:Wikipedia:Open_Source under the MIT License
- The source code for the “stable” version is published on Github
There are a number of similar endeavors out there you might find at least as interesting. You can check out OtherWikis for a vastly more comprehensive list I compiled during Yaki’s development, but these are fairly modern:
- Sputnik for LUA
- Jekyll for Ruby
- FlatPress for PHP4 (has a web UI, if you like that sort of thing) or Stacey
1 As much as possible within OS and filesystem constraints
2 Forget about massive sprawling toolkits, Snakelets, is stable, tweakable and largely platform-agnostic.