Project Update: MarkdownJ

The Web Dingus for MarkdownJ is back and deployed to Google App Engine. This is the first "application" I've deployed to GAE (I use inverted commas, as it is a pretty trivial application). The experience was relatively straightforward, although one issue I did encounter was that GAE's customised version of Jetty does not handle <jsp-file>-type servlets correctly (see issue 1365). A simple workaround was to rename the jsp file I wanted to map as a servlet to index.jsp.

My next step will be improving documentation and publishing the API docs somewhere. The MarkdownJ site is currently hosted on GitHub pages. I'm using Maven as build/project tool and have played a little with the possibility of publishing the generated docs to the gh-pages branch - it is possible (see Grancher for a Ruby tool that does this), but I don't find it particularly elegant.

Planned for early in the new year is a new MarkdownJ parser. Currently MarkdownJ relies on regular expressions, which doesn't provide for easy maintenance. Most importantly though, regular expressions don't really understand the Markdown code and don't provide for an intermediate representation of a Markdown document. An internal representation would make possible such things as multiple output formats (not just HTML, but also PDF and ODF) and pluggable converters to other markup languages. "Eclipse Mylyn WikiText", formerly known as TextileJ ( must be hiring marketing managers from Redmond) provides this type of functionality for the Textile markup language.

Finally, since I'm mostly working in the Ruby language these days, I'd also like to see better support for JRuby. A thin wrapper Ruby-like API would be pretty easy to accomplish. It's particularly needed as the fast Markdown libraries for Ruby, BlueCloth and RDiscount, both rely on C native extensions, something JRuby does not support.


blog comments powered by Disqus