Madoko Blues

Madoko is a very cool set of Markdown extensions/tools for writing full fledged academic “stuff” in Markdown. It compiles to HTML and LaTeX (of course!) and really has a lot of cool stuff. It supports reveal.js and beamer presentations in what seems to be a nice way.

In general, it feels like a win.


It was developed as a demonstration for the Koka language. Koka is a nice enough looking experimental language which compiles to Javascript. Ok. So any bug fixing or tweaking requires learning a new language. Ok. Well, what does it take to get started? Only this:

First install some pre-requisites:

  • Install TortoiseHg for mercurial version control.
  • Install the Haskell Platform to build the compiler (version 7.4 or later).
  • Install Node for running Koka programs (version 0.10 or later).
  • We recommend the excellent SublimeText text editor for developing Koka programs.

Then get the compiler and libraries, and build them:

  • hg clone (clone the Koka sources)
  • cd koka (go to the new Koka directory)
  • npm install (install needed Node libraries)
  • jake (build the compiler and run the Koka interactive environment)

Well you might as well say, “Fuck off”.

Which is a shame because Madoko doesn’t 100% work. I’ve had terrible trouble with Bibtex files and the beamer output is just awful. Often unusable. Well fine, maybe I can live without it, but it’s super frustrating when it’s right there. It doesn’t seem to generate “semantic” beamer, but maybe I can force it to? Maybe it uses templates somewhere? Ugh.

An alternative is to extract a language spec and reimplement it in Python.

(Or I guess Pandoc, but it has a lot of similar pain plus missing a lot of stuff Madoko has.)