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
It defines String#pandoku
method.
require 'pandoku'
doc = <<MKD
Pandoku
=======
[Pandoku][] is loose Ruby interface for [Pandoc][].
[pandoku]: http://github.com/lunant/pandoku
[pandoc]: http://johnmacfarlane.net/pandoc/
MKD
puts doc.pandoku(:markdown => :html)
Above code prints following HTML:
<div id="pandoku"
><h1
>Pandoku</h1
><p
><a href="http://github.com/lunant/pandoku"
>Pandoku</a
> is loose Ruby interface for <a href="http://johnmacfarlane.net/pandoc/"
>Pandoc</a
>.</p
></div
>
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'
The source code of Pandoku is available on GitHub. It is also an offical page of Pandoku.
http://github.com/lunant/pandoku
The Gem package is distributed on Gemcutter.
http://gemcutter.org/gems/pandoku
See the respectable original project Pandoc also.
http://johnmacfarlane.net/pandoc/
There is a good alternative Ruby interface to Pandoc from a different angle.
http://github.com/autodata/pandoc-ruby
Hong Minhee (洪民憙)
http://dahlia.kr/
dahlia@lunant.net