Posted Jul 21, 2008
FreakyWiki: a simple wiki banged out in Grok
A restructured text wiki written in about a day by two guys who never used Grok (or even pure Zope 3) before
Last week’s Zope 3 training was actually more of a Grok training, which I dug, since I don't care to expose humans (myself included) to XML. Grok’s a nice piece of kit—it really does get rid of practically all ZCML—and Zope 3 is ever so much cleaner to develop in than the legacy-bound Zope 2 hairball I’m used to.
To get our feet wet with a somewhat real-world problem, Eric Steele and I spent the last day of class whipping up a simple wiki we called FreakyWiki. It demonstrates a nice cross-section of Zope 3 and Grok in about 200 lines of code:
- Skinning
- Event subscription
- Custom traversers
- Formlib
- Indexing and search
Take a look
- Check it out of Subversion and then run buildout to get it running.
- Or browse the source in our Trac.
Once you get FreakyWiki running, just write your pages in standard restructed text, and spell your wiki links LikeThis_ (with the trailing underscore, in true ReST fashion).
This is, of course, an extremely early release, but gentle feedback is welcome!

the purpose of...
...the update-method (re: page.py) is not to prepare data that will only ever get used once, e.g. ``rendered_content``, but rather to provide a chance to peek or poke at the rendering environment before any page element gets rendered.
I think it causes less confusion to simply have a method ``get_rendered_content`` and call it straight from the template.
\malthe