Yaki (which stands for “grill” in Japanese) was the provisional name for my NewWikiMigration project, which was completed in May 2007.
It is the CMS that ran this from May 2007 to April 2016, and can be described as a full-blown, heavily filesystem-oriented Wiki engine.
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:
- Aliases
- InterWiki support
- Alphabetical Index
- Recent Changes
- etc.
- 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
Similar Projects
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:
- Ikiwiki
- 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.