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.