Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have recently started learning Markdown for use with documentation, and need to print out a few of my Markdown pages. I would like to use a command-line, Terminal, etc. utility that allows me to convert Github-flavored Markdown to PDF. It needs to have proper syntax highlighting and should not look horrible. Thanks for any help.

share|improve this question
    
The syntax coloring on GitHub is not part of GitHub Flavored Markdown. At least as far as I know. –  Oliver Salzburg Dec 16 '13 at 12:51
    
@OliverSalzburg Github uses Linguist to provide syntax highlighting. –  DanteTheEgregore Dec 16 '13 at 13:37

4 Answers 4

up vote 8 down vote accepted

I've had success using grip to display markdown in Chrome and then use Chrome's "Save as PDF" option in the Print dialog.

pip install grip  
grip your_markdown.md

grip will render the markdown on localhost:5000 - just edit away and refresh the browser. Print when ready.

This gave a more reliable representation than pandoc and was lighter weight than installing latex (required by pandoc for pdf generation).

The print is not command line in this answer, but still found this easier/more reliable (looked 100% like Github for a long document including relatively linked images and code highlighting).

share|improve this answer

Take a look at pandoc. It does have syntax highlighting. It might require you making (minor) changes to your document since it has its own flavour of markdown and I don't know how closely it matches the GitHub flavour.

share|improve this answer
    
Thanks. Running pandoc -h did return support for GitHub Flavored Markdown, so I'm marking this question as resolved. –  dillmo Feb 11 at 23:49

If the markdown file was hosted on github repository, gitprint is an interesting option to create pdf / print.

All you need to do is to replace github.com by gitprint.com in the URL. Here is an example from gitprint's homepage.

Unfortunately, it does not work on markdown gists, and works only with markdown files at the repository.

share|improve this answer
1  
It does not work with images either. :( –  Adam Arold Sep 2 at 13:12

As I stated in my comment, Github uses Linguist to provide syntax highlighting. On Github, you can use this to specify syntax highlighting like so:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

Unfortunately, there's no good way to convert Markdown directly to a PDF file with syntax highlighting.

Alternatives:

Vim:

If you have vim, you can easily achieve syntax highlighting by running the following from a terminal:

vim -c hardcopy -c quit /path/to/file.ps

Or inside of vim:

:hardcopy >/path/to/file.ps

This will produce a PostScript file that can be converted to pdf using, for example, ps2pdf:

ps2pdf /path/to/file.ps

Source-highlight:

If you'd like instead to go the route of HTML or LaTeX, you could try Source-highlight instead. A list of all languages supported by Source-highlight can be found here.

A few example Source-highlight commands include:

source-highlight -s java -f html -i Hello.java -o Hello1.html
source-highlight -s java -f html --input Hello.java --output Hello2.html --doc
source-highlight -s java -f html -i Hello.java -o Hello3.html --title "Happy Java with java2html :-)" --tab 3

Using this input file

And each outputting their own respective HTML file:

Hello1.html
Hello2.html
Hello3.html

Further examples of Source-highlight usage can be found here

Windows:

Vim, ps2pdf (provided by Ghostscript) and Source-highlight are all available via Cygwin.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.