Skip to the Main Content

Note:These pages make extensive use of the latest XHTML and CSS Standards. They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in Mozilla. My best suggestion (and you will thank me when surfing an ever-increasing number of sites on the web which have been crafted to use the new standards) is to upgrade to the latest version of your browser. If that's not possible, consider moving to the Standards-compliant and open-source Mozilla browser.

February 15, 2007

Instiki Update

I’m now running several Instiki wikis, for various projects. I’ve also been very busy fixing things under the hood and I’m quite pleased with the result. Since I’ve gotten several inquiries about MathML-enabled Wiki software, and this branch of Instiki finally feels like it’s ready for primetime, the project now has its own website.

More technical details below the fold.

I’ve entirely replaced BlueCloth with Maruku. Andrea has been simply superb in responding to my feature requests and suggestions.

  • Both the “Markdown+itex2MML” filter and the regular “Markdown” filter are driven by Maruku. Maruku now supports running in itex-aware and regular Markdown modes, within the same Ruby instance.
  • Equation numbering conventions now match the ones I’ve implemented my MovableType plugin. $$...$$ produces an unnumbered equation, \[...\] produces a numbered equation. Numbered equations can have an optional \label{..}. Maruku also supports1 numbered equations delimited by \begin{equation}...\end{equation}.
  • Maruku’s metadata syntax now allows you to insert any legal XHTML attribute for any of the elements generated in Markdown. For instance, you can write
    > Looking at the times his emails were send I have no idea
    > in which time zone he lives (let alone sleeps ...).
    {: cite="" style="color:#944;"}
    and have it produce

    Looking at the times his emails were send I have no idea in which time zone he lives (let alone sleeps …).

    Together with its support for tables and footnotes and whatnot, it’s very rare that there’s a need to enter your own XHTML tags.

Another thing which was fairly crappy in the stock Instiki was the “See Changes” function. This is supposed to produce a redline document, marked up with <del> and <ins>, showing the changes between successive versions of a wiki page. Unfortunately, with the built-in lib/diff.rb, the result was frequently ill-formed gobbledygook. So I ditched lib/diff.rb, in favour of xhtmldiff. Like Maruku, xhtmldiff also uses REXML, and fairly reliably produces well-formed output.

I’ve also had a bit of email back and forth with Matthias Tarasiewicz, the actual maintainer of Instiki. He even committed one of my patches (a cookie-handling fix) to the Instiki trunk. His main focus is adding anti-spam features to Instiki. I had to fix his latest addition, because it didn’t work in XHTML.

1 You can also configure Maruku, so that \[...\] behaves like $$...$$ instead of like \begin{equation}...\end{equation}. That’s the standard LaTeX behaviour but, since the latter is a pain to type, I actually like this one better.

Posted by distler at February 15, 2007 9:33 AM

TrackBack URL for this Entry:

0 Comments & 0 Trackbacks

Post a New Comment