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 Github (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

LuaLinode NextGen: The HardwareBacklogPython
Crystal BoxesRubySelective BreakageMarkdown
Spring cleaning, and deploying SPDYBackstageVoodooPad 5.0Varnishing Retinas
AssembliesAffiliate StoreShuffleDesign & Code Credits
PyPy 1.6 - kickass pandarcarmo/Yaki - GitHubSnakelets DocumentationPruning
Grilling PostsStarting the serverOtherWikisSoft at Heart
Git, you varmints!Moderately Quiet EveningGreased LightningDropping Text
HousekeepingGollum, a git-based WikiAliasesTextile
Chipping AwayGoogle Storage for DevelopersSite DesignsAn Eventful Day
The Smell Of Napalm In The MorningSite FAQMeanwhile, as I rest...Found With The Wind
Room to ThinkTechnowhat?BlipMajor Rebuild
Google Reader supportUnsocialGoogle Code to support Mercurial version control systemPhasing In
HTMLWrapping up the weekOn PrioritiesBespin: Code in the Cloud
Google App Engine roadmap updateThe Sony Readerinessential.com: New publishing system / tour of my head2008 in Review, 2009 Hazy
Hello 194.79.76.18!Inter-Wiki MapPython 3.0The Voters Have Spoken
FeedBurnerEngine TweaksHTTPSo now what?
Interfacing with HabariHashiSashimiTen Years Later
On Yaki and Google App EngineGoogle App EngineRSS and Comment ChangesOffline Days
Regarding iPods, Developers and Attention SpansArchives again, at lastVoodooPad: New in 3.5Meta
On Wiki PluginsFancyZoom 1.0Hey Apple, How About Fixing Your Insecure iDisk?An update on my RSS setup
Pre-Spring CleaningStraightening Out StuffChangesThose Internet Service Thingies
Website thumbnails - Bluga.net WebThumbSore FeetPhpWikiJavaScript Tune Ups
Digital Consumption - Visiglyphs for IP visualisationYaki on KodersThe Flow Of MercurialYaki Update on Google Code
Random Desktop ShotMy Five Wishes for LeopardLong BreakGrill Your Own Mother Tongue
The Wiki CloudDaring Fireball: FeedbackHg At Room TemperatureMidsummer Terminal Evenings
OverlinkedPure Python DynDNS.org Client/UpdaterW2 Wiki with iUIYaki, Just Slightly Underdone
Featured LinksA Little PerspectiveYaki, MacFusion and TextMate - The Perfect Combo?Never Procrastinate Language Studies
Post-Keynote NotesGravitating Towards Some StuffRunning ThroughWiki Migration Notes - Hosting
Wiki Migration Notes - Site FeaturesWiki Migration Notes - Platform SelectionWiki Migration NotesQuiet Time
Yaki Is Loose Upon The WorldThe Bug In FirebugSomewhat HereRainy Day, and Bot Nuisances
Yaki Has LandedNote to Self (do not go completely Psyco)Yaki, Soon On Google CodePlateau
Next Up...Worst. Open Source. Re-Branding. Ever.TransitioningIn and Out
Monday ModeWiki Editing, Mind Maps and UsenetMinor AchievementsAlphabetical Index
Easter BreakStuff I Probably Should Have Paid Attention To EarlierBeautiful SoupFresh News
Weekend CodingSizzling SwitchingThe Grill is OpenHomePage
Teeter-TotterLife and StuffThings I Can't Get Around To Do, Part OneModerate 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