Loose Ruby interface for Pandoc, the most powerful markup processor. / URL has changed to http://github.com/lunant/pandoku
Pull request Compare This branch is 1 commit ahead, 2 commits behind lunant:master.
Latest commit f87e478 Oct 4, 2010 @dahlia A trivial change.



Pandoku is a loose Ruby interface for Pandoc, the most powerful markup processor written in Haskell.

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pages, and S5 HTML slide shows.


Before install Pandoku, you should install Pandoc. If Haskell platform is installed on your system, you should just use cabal tool.

cabal install pandoc

Pandoku gem is distributed with Gemcutter.

gem install gemcutter
gem tumble
gem install pandoku

Simple Way

It defines String#pandoku method.

require 'pandoku'
doc = <<MKD

[Pandoku][] is loose Ruby interface for [Pandoc][].

[pandoku]: http://github.com/lunant/pandoku
[pandoc]: http://johnmacfarlane.net/pandoc/
puts doc.pandoku(:markdown => :html)

Above code prints following HTML:

<div id="pandoku"
><a href="http://github.com/lunant/pandoku"
  > is loose Ruby interface for <a href="http://johnmacfarlane.net/pandoc/"

Path Of Pandoc

You should export the environment variable PANDOC_PATH when the executable binary of Pandoc is not in PATH.

export PANDOC_PATH="$HOME/.cabal/bin/pandoc"

Or you can define the constant Pandoku::PANDOC_PATH before require 'pandoku'.

module Pandoku; PANDOC_PATH = "#{ENV['HOME']}/.cabal/bin/pandoc"; end
require 'pandoku'

Web Sites

The source code of Pandoku is available on GitHub. It is also an offical page of Pandoku.


The Gem package is distributed on Gemcutter.


See the respectable original project Pandoc also.


There is a good alternative Ruby interface to Pandoc from a different angle.



Hong Minhee (洪民憙)