Types for representing a structured document

Version on this page:
LTS Haskell 9.5:
Stackage Nightly 2017-09-19:1.17.1
Latest on Hackage:1.17.1
BSD3 licensed by John MacFarlane

Text.Pandoc.Definition defines the Pandoc data structure, which is used by pandoc to represent structured documents. This module used to live in the pandoc package, but starting with pandoc 1.7, it has been split off, so that other packages can use it without drawing in all of pandoc's dependencies, and pandoc itself can depend on packages (like citeproc-hs) that use them.

Text.Pandoc.Builder provides functions for building up Pandoc structures programmatically.

Text.Pandoc.Generic provides generic functions for manipulating Pandoc documents.

Text.Pandoc.Walk provides faster, nongeneric functions for manipulating Pandoc documents.

Text.Pandoc.JSON provides functions for serializing and deserializing a Pandoc structure to and from JSON.



* Better consistency in simpleTable and table (jgm/pandoc#3648).
If `headers` is empty, we populate it with empty cells, using the rows
to determine number of columns. We also ensure that there are numcols
alignments and column widths.
* Make sure Div and Span occur in Arbitrary instances.
* Bump dependency upper bounds.
* Removed unused mapConst.


* Allow aeson 1.1.
* Added tests for Walk (originally from pandoc).
* Renamed README ->, fix link (Kolen Cheung).


* Re-add Functor constraint to walkM, needed for ghc 7.8.
* Turn off redundant-constraints warning for Walk (for ghc 8.0.1+).
* Added necessary Data.Traversable import.
* Allow HUnit 1.5.


* More ghc 7.8 compatibility imports.


* Added a necessary import from Data.Monoid (for ghc 7.8).


* Fix compiler warnings around Data.Monoid import on some platforms.


* Remimplement json encoding of inlines manually (Jesse Rosenthal).
This is the first step to doing manual encoding and decoding of pandoc
JSON. This will replace the current generic deriving, which can be a
moving target.
* Move Arbitrary instances for types from pandoc (Jesse Rosenthal).
* Remove empty arrays for leaf elements (Jesse Rosenthal).
Elements with no children (Space, SoftBreak, LineBreak, HorizontalRule,
Null) previously had an empty array for their "c" value. We remove that
here. This is a breaking change for the JSON format.
* New toplevel JSON format with api-version (Jesse Rosenthal). The version
number is the pandoc-types version. The toplevel format was previously:

[{"unMeta": META}, [BLOCKS]]

It is now:

"pandoc-api-version" : [MAJ, MIN, REV],
"meta" : META,
"blocks": BLOCKS

Decoding fails if the major and minor version numbers don't match.
* Add simple quickcheck tests to verify that roundtrip works properly
(Jesse Rosenthal).
* Add a LineBlock block element (Albert Krewinkel).
* Add explicit unit tests for encoding and decoding (Jesse Rosenthal).
* Fixed warnings in Walk, Builder.
* Test with travis and appveyor.


* Allow aeson 1.0.*.


* Allow aeson 0.11.*.
* Export pandocTypesVersion from Text.Pandoc.Definition.


* Use deepseq instead of deepseq-generics. deepseq now allows deriving
generic NFData instances, so we don't need deepseq-generics.
* Removed unneeded instance, use OVERLAPPING pragma for ghc 7.10.
* Added CPP so that deepseq-generics is used for ghc < 7.10.
* Added tested-with, generate .travis.yml using make_travis_yml.hs
* Added stack.yaml


* Added Attr field to Image and Link.
* Added SoftBreak constructor to Inline
comments powered byDisqus