Hi,
Thanks Mike for introducing me. I have just subscribed to the list.
Yes I'm working on a wiki "engine" with replaceable parts. The replaceable parts include parser (wiki text -> document tree in memory), formatter (document tree -> output text), storage system, authenticator, authorizer, and search engine. User interface is not in it, but rather the whole engine is driven by a UI to be supplied by the developer.
You can think of this "engine" as a "wiki library" that have pre-defined interfaces to replaceable parts. So, with an html formatter and a mediawiki parser (a draft version already exist), it can already show HTML for mediawiki contents. Furthermore, if parsers and formatters of markup A and B are available, we can freely convert wiki contents from A to B and vice versa. The "intermediate" thing is actually the document tree in memory.
The whole thing is written in C++. With help from wrapper generators like SWIG, it is possible to be called by many scripting languages supported by SWIG (PHP, Python, Ruby, Tcl, Lua, Java, C#, to name a few). I haven't got around to doing this just yet, but I did similar work with other systems before so this should be doable.
If this works, the wikipedia contents will instantly become available to many systems even if they are not written in PHP, or even not web-based.
I'll attend the Hacking Days Extra in the afternoon tomorrow. Maybe I can show you what I have so far and get your comments. :)
cheers, Ping
On 8/1/07, Tian-Jian Barabbas Jiang@Gmail barabbas@gmail.com wrote:
Besides WikiCreole, someone else is implementing pluggable parsers of wiki syntax without an intermediate language, or say, the intermediate language is flex. This guy, Ping Yeh, will introduce his pilot work on Wikimania: http://wikimania2007.wikimedia.org/wiki/Proceedings:PY1
Actually I'm imaging that if this flexible parser idea, as the input part, connected to some kind of wikiwyg formatter, as the output part, they may solve similar problem of WikiCreole and pull the day of "WYSIWYG <-> XHTML" closer to us; by this kind of interpretation of Brion's comment, I second it.
Sincerely, /Mike/