An image of Heer de Beer

Heer de Beer.org

Exploring the Computational Medium

Software building on markdown

(pandoc in particular)

Huub de Beer

While working on my PhD I discovered pandoc, a great multi-document converter. Before, I used LaTeX, but found that collaborating with my colleagues in the fields of History and Education was troublesome. My colleagues did not want to use LaTeX, but preferred a WYSIWYG editor. Converting from LaTeX to their preferred formats turned out to be a hassle and incomplete to boot. There are tools, such as TeX4ht, but the results were not great.

Then, somewhere in 2010, I discovered pandoc and switched from writing my papers in LaTeX to writing them in pandoc’s markdown variant. Converting to other formats now was a breeze. I even decided to write my PhD thesis in markdown and converted it successfully to HTML and PDF.

However, using pandoc I found myself writing shell scripts to automate some tasks and as I prefer ruby over bash, I decided to write my own ruby wrapper for pandoc: paru. Then, using paru, I also created a static site generator, pandocomatic, which I used to generate this site. Furthermore I tried out some ideas about documenting programs through foucault, a system for “narrative programming”.

Although I like Paru a lot, I found myself writing more and more scripts in JavaScript and I missed the ability to use pandoc in these scripts. Therefore, I decided to port Paru to JavaScript. Enter Paja.