Você pode usar o markdown do Python (do pacote python-markdown) e o xhtml2pdf (do pacote python-pisa).
Você pode ter um script como:
#!/bin/sh
CSS_FILE=~/path/to/style.css
MARKDOWN_FILE=.mkd
HTML_FILE=.html
PDF_FILE=.pdf
markdown_py $MARKDOWN_FILE > $HTML_FILE
xhtml2pdf --quiet --css $CSS_FILE $HTML_FILE $PDF_FILE
rm $HTML_FILE
Coloque o código acima em mkd2pdf, torne o arquivo executável ( chmod +x mkd2pdf
).
Digamos que o seu arquivo de marcação é chamado file.mkd
, então você pode executar
./mkd2pdf file
e você teria o arquivo.pdf gerado no mesmo diretório. (Observe a falta de um sufixo na linha acima).