Yaki

Yaki (which stands for “grill” in Japanese) was the provisional name for my NewWikiMigration project, which was finally completed in May 2007.

It is the CMS that runs this site since that date, and can be described as a full-blown, heavily filesystem-oriented Wiki engine.

Since people like lists of features, here are a few:

  • 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:
    • Pages are pre-processed to HTML
    • HTML and other internal info are stored in a single-file cache, a la Haystack
    • Everything is served via sendfile(2) calls whenever possible
    • Uses every HTTP caching trick in the book to minimize actual page hits
  • 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 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 under the MIT License
    • The source code for the “stable” version is published on Google Code (this site is running the bleeding-edge stuff, which will eventually be merged back in, even if it takes me another three years)

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:

1 As much as possible within OS and filesystem constraints 

2 Forget about massive sprawling toolkits, Snakelets, is stable, small, tweakable and truly platform-agnostic. 


See Also

PythonAssembliesMarkdownAffiliate Store
ShuffleDesign & Code CreditsPyPy 1.6 - kickass pandarcarmo/Yaki - GitHub
Snakelets DocumentationPruningGrilling PostsStarting the server
OtherWikisSoft at HeartGit, you varmints!Moderately Quiet Evening
Greased LightningDropping TextHousekeepingGollum, a git-based Wiki
AliasesTextileChipping AwayGoogle Storage for Developers
Site DesignsAn Eventful DayThe Smell Of Napalm In The MorningSite FAQ
Meanwhile, as I rest...Found With The WindRoom to ThinkTechnowhat?
BlipMajor RebuildGoogle Reader supportUnsocial
Google Code to support Mercurial version control systemPhasing InHTMLWrapping up the week
On PrioritiesBespin: Code in the CloudGoogle App Engine roadmap updateThe Sony Reader
inessential.com: New publishing system / tour of my head2008 in Review, 2009 HazyHello 194.79.76.18!Inter-Wiki Map
Python 3.0The Voters Have SpokenFeedBurnerEngine Tweaks
HTTPRubySo now what?Interfacing with Habari
HashiSashimiTen Years LaterOn Yaki and Google App Engine
Google App EngineRSS and Comment ChangesOffline DaysRegarding iPods, Developers and Attention Spans
Archives again, at lastVoodooPad: New in 3.5MetaOn Wiki Plugins
FancyZoom 1.0Hey Apple, How About Fixing Your Insecure iDisk?An update on my RSS setupPre-Spring Cleaning
Straightening Out StuffChangesThose Internet Service ThingiesWebsite thumbnails - Bluga.net WebThumb
Sore FeetPhpWikiJavaScript Tune UpsDigital Consumption - Visiglyphs for IP visualisation
Yaki on KodersThe Flow Of MercurialYaki Update on Google CodeRandom Desktop Shot
My Five Wishes for LeopardLong BreakGrill Your Own Mother TongueThe Wiki Cloud
Daring Fireball: FeedbackHg At Room TemperatureMidsummer Terminal EveningsOverlinked
Pure Python DynDNS.org Client/UpdaterW2 Wiki with iUIYaki, Just Slightly UnderdoneFeatured Links
A Little PerspectiveYaki, MacFusion and TextMate - The Perfect Combo?Never Procrastinate Language StudiesPost-Keynote Notes
Gravitating Towards Some StuffRunning ThroughWiki Migration Notes - HostingWiki Migration Notes - Site Features
Wiki Migration Notes - Platform SelectionWiki Migration NotesQuiet TimeYaki Is Loose Upon The World
The Bug In FirebugSomewhat HereRainy Day, and Bot NuisancesYaki Has Landed
Note to Self (do not go completely Psyco)Yaki, Soon On Google CodePlateauNext Up...
Worst. Open Source. Re-Branding. Ever.TransitioningIn and OutMonday Mode
Wiki Editing, Mind Maps and UsenetMinor AchievementsAlphabetical IndexEaster Break
Stuff I Probably Should Have Paid Attention To EarlierBeautiful SoupFresh NewsWeekend Coding
Sizzling SwitchingThe Grill is OpenHomePageTeeter-Totter
Life and StuffThings I Can't Get Around To Do, Part OneLuaModerate Calm
Last DayProjectsTempuraBuilding The Anti-Wiki
SushiZebra CrossingNavigation WarningRandom Trains of Thought
Macs and Books, but no MacBooksMinor TopicsMinor EarthquakesLink Mode
Random non-Easter TopicsFun in PerspexRuby on the GTD TrackBreaking PHP
HOWTO: Install DokuWiki on TigerPHPJapaneseSunday Musings
Page Not FoundQuest for the Holy RSS Aggregator