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(a)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/