ConTeXt up and running, with pandoc and markdown

Took an age, but I finally got ConTeXt to run and process a markdown file via pandoc and the filter module.

I had no problems installing pandoc. Because I am running xmonad as my window manager, I already have an up-to-date Haskell environment. So I went the caball install route:

    cabal update
    cabal install pandoc -fhighlighting

Then I got into a nasty fight with context. First I tried running via texlive 2010 on my gentoo box, but that wasn’t working. Invoking context would just hang on the input file, waiting for input. If I hit control-c, context would manage to produce a PDF with the name of the input file as the only text, but that isn’t what I was going for! I spent an hour or so reading documentation and trying out different things, but I couldn’t even get simple files to generate anything meaningful.

So at about 1am I decided to blame my tools…texlive in this case. I downloaded the context minimals and went to sleep (well, first I ripped about 20 rows of lace knitting, picked up the live stitches, and wound up the wrinkled alpaca yarn, but that is a different topic altogether).

This morning I held off getting back into as long as I could, working on the actual markdown document I am writing first. Then at a good stopping point I tried again with the new context minimals environment. Right off the bat I made a little more progress—context didn’t hang anymore, but it still produced an empty PDF. I kept getting errors complaining about

no tex source file with name: cont-en

After a long long while and useless internet searches, I found a page in a forum (or perhaps on the ConTeXt wiki) that said that if you define the TEXINPUTS environment variable, then you’ll get problems, with context complaining about not being able to find files.

I in fact *had* defined TEXINPUTS in my .bashrc file, so as to allow my xelatex runs to automatically find bib and fig directories inside of my document projects. So I commented that line out, logged out and back in again, and voila, everything works.