On Mon, Dec 30, 2002 at 02:29:31PM -0800, Jason Richey wrote:
I am 100% for the comments you had about changing the
backend to be
more generalizable. I think that a plugin type architecture for this
type of thing would be ideal...
We can make such system after we have 3 or so renderers.
My thoughts:
We currently have the <math> tags and are considering <music> and
<tex>, right? At what point are we going to realize that the stuff
that goes between these tags all share the same idea. That is, they
are all text rendered into images and/or HTML for presentation. I
think that it is crazy to add a tag every time we want to support a
new renderer. We should use a single tag, and a modifier. A few
possible examples:
<render type=tex>\sqrt[3]{x+y}</render>
<render type=math>\sqrt[3]{x+y}</render>
<render type=texvc>\sqrt[3]{x+y}</render>
<render type=lilypond>\notes{r4 <a c e> c e}</render>
I think that using different tags makes it more readable.
We'll probably have only a few renderers (math, music, chemistry, anything else ?)
plus maybe some multilingual pronunciation processor (so people can
see kana/kunrei/hepburn or pinyin_with_diactrics/pinyin_with_numbers/wadegiles
or real_arabic/latinization or whatever else, depending on what they set in
preferences, and maybe to connect it to some speech generator ...).
I don't think it's insane. XML guys do this all the time.
Of course I realize that this adds a bit of complexity
for the
wikipedian who is editing the code in the first place, but it could
remove a huge burden from the wikipedia developers.
I'm kinda Wikipedia developer and I don't think it's a big burden.
It's less than 10 lines per tag.
We could just
publish a "render plugin API", and hope that someone from planetmath,
or lilypond or whatever group of developers would take interest and
write a plugin for that project.
Connecting texvc to Wikipedia script wasn't all that hard.