Deprecated

In favour of

open-pandoc

Conversion between markup formats

http://johnmacfarlane.net/pandoc

Latest on Hackage:1.5.1.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

LicenseRef-GPL licensed by John MacFarlane
Maintained by Peter Simons

OpenPandoc is a variant of Pandoc that supports version 3.0 or later of the parser combinator library Parsec. In all other aspects, the code is unchanged from the original version. A separate package is necessary, unfortunately, as the original author of Pandoc refuses to support current versions of Parsec, because he thinks that they are too slow. It is true that Parsec 3.x is somewhat less performant than the 2.x branch used to be, so if you intend to use Pandoc for formatting huge amounts of data on a regular basis, it might be worthwile to build it with Parsec 2. For everyone else, however, the difference in speed is hardly noticable. Using Parsec 3 is much more convenient, though, because -- unlike the old version -- that package is oftentimes available through your system's packet manager, i.e. in ArchLinux.

Generally speaking, 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, Docbook, OpenDocument, ODT, RTF, MediaWiki, groff man pages, and S5 HTML slide shows.

Pandoc extends standard markdown syntax with footnotes, embedded LaTeX, definition lists, tables, and other features. A compatibility mode is provided for those who need a drop-in replacement for Markdown.pl.

In contrast to existing tools for converting markdown to HTML, which use regex substitutions, pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document, and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer.