Markdown ist aus meinem Alltag nicht mehr wegzudenken. Die einfach zu erlernende Auszeichnungssprache die [John Gruber](http://daringfireball.net/projects/markdown/) und [Aaron Swartz](http://www.aaronsw.com/) erdacht haben, wird mittlerweile von diversen Plattformen unterstĂŒtzt. Sogar BĂŒcher, wie zum Beispiel "[The Grumpy Programmerâs Guide to Building Testable Applications in PHP](http://leanpub.com/grumpy-testing)" von [Chris Hartjes](http://www.littlehart.net/), werden damit geschrieben. Da man so gut wie alle gĂ€ngigen Formatierungen in Markdown vornehmen kann, kommt es fĂŒr mich oft gar nicht in Frage, Dokumentation oder Notizen in komplexen Programmen zu schreiben. [Textmate](http://macromates.com/), oder wenn es sein muss auch mal `vi`, reichen mir aus. Seinen Kunden will man nicht zumuten, Markdown-Dateien zu lesen. Stattdessen sollen diese schöner formatiert und in einem PDF gesammelt werden. Genau dieses Problem habe ich letztens auf OSX relativ komfortabel gelöst. ## Markdown zu HTML Wenn man PDFs aus Markdown erstellen möchte, macht es sich am besten, diese zuerst in HTML umzuwandeln. Ein Tool, welches u.a. Vorlagen mit einbezieht, Inhaltsverzeichnisse erstellen, in andere Formate umwandeln und damit auch fĂŒr andere Zwecke genutzt werden kann, ist [pandoc](http://johnmacfarlane.net/pandoc/). Nach der Installation [eines der Packete](http://johnmacfarlane.net/pandoc/installing.html), kann man einzelne Markdown-Dokumente in HTML umwandeln: pandoc README.md -o README.html Das schöne bei pandoc ist, dass man neben Footer, Header oder Stylesheets auch ganze Templates selbst definieren kann, die beim Konvertieren mit einbezogen werden: pandoc -c mystyle.css -A footer.html -H header.html README.md -o README.html Weitere Befehle und genauere Beschreibungen zu den Templates sind im [Pandoc Userâs Guide](http://johnmacfarlane.net/pandoc/README.html) nachzulesen. Ganz nett ist auch die Funktion, mit Platzhaltern fĂŒr Datum oder Autor arbeiten zu können. ## HTML zu PDF Hier gibt es wieder mehrere Möglichkeiten. Um [pandoc](http://johnmacfarlane.net/pandoc/) das PDF-Generieren beizubringen, muss man leider [LaTeX](http://www.tug.org/mactex/2011/) installieren, was auf Grund der GröĂe des Pakets (mehr als 1 GB) lĂ€cherlich erscheint. Wenn man aber auf OSX arbeitet, kann man eine im System "versteckte" Funktion benutzen, die jedes HTML inklusive Stylesheet, Bilder etc. in ein PDF verwandelt: `convert` /System/Library/Printers/Libraries/convert -a "media=A4 portrait" -f README.html -o README.pdf Der Befehl ist leider nicht [wirklich dokumentiert](http://apple.stackexchange.com/questions/14947/what-are-the-secret-options-of-the-pdf-convert-tool-from-os-x); er kann aber auch RTF oder normale Text-Dateien in PDFs konvertieren. Es gibt auch noch weitere Parameter, die man mit `-a` ĂŒbergeben kann. Welche von den auf [CUPS gelisteten](http://www.cups.org/documentation.php/options.html) funktionieren, konnte ich aber leider nicht finden. ## Beispiel auf GitHub FĂŒr [foobugs](http://www.foobugs.com) habe ich ein kleines Beispielprojekt aufgesetzt, mit dem man wunderbar rumspielen und sich fĂŒr seine Firma oder sein Projekt eine Vorlage erstellen kann. Die Quellen sind im [pandoc-templates Projekt auf GitHub](https://github.com/foobugs/pandoc-template) zu finden.