The life and times of Zack Weinberg.
Monday, 18 July 2005
# 3:55 AM
I have just had an idea. I'm not quite prepared to talk about the idea
itself yet. One thing is clear, though: in order to build it, I need a
Wiki engine. And all the Wiki engines I currently know about, don't do what
I want. To work, the engine has got to do the following things:
- Must be written in a programming language I already know - read "Python
or Perl". I'm not wanting to go learn a whole new language for this.
- Must allow me to swap out the wiki-markup parser for something of my
own invention. (No existing wiki markup is quite right for this.)
- Must have pluggable back-end formatting machinery, so that I can render
pages into something other than HTML.
- Must use a real version control system (CVS or better) to store the
source text of each page.
- Related: if someone edits a page by direct access to the version control system,
rather than through the browser interface, the wiki engine should notice
and update the page. (I don't care how it notices.)
- Also related: should allow there to be other stuff in the VCS repository
than just the wiki. In CVS terms, it shouldn't require an entire module to
So, before I go out and write an entire wiki engine myself, does anyone
know of an existing system that does all the above things? Failing that,
does anyone know an existing system that satisfies at least (1) and (4)?
[I have skimmed WikiEngines;
none of the options is obviously what I want, and I'm not feeling
up to reading all the project pages in hope of finding the right one.]