| pandoc | Source code | Contents | Index

Text.Pandoc.Definition

Portability | portable
Stability | alpha
Maintainer | John MacFarlane <jgm@berkeley.edu>

Description
Definition of `Pandoc` data structure for format-neutral representation of documents.
Synopsis

data Pandoc = Pandoc Meta [Block]

data Meta = Meta {

docTitle :: [Inline]
docAuthors :: [[Inline]]
docDate :: [Inline]

}

data Alignment

= AlignLeft
| AlignRight
| AlignCenter
| AlignDefault

type ListAttributes = (Int, ListNumberStyle, ListNumberDelim)

data ListNumberStyle

= DefaultStyle
| Example
| Decimal
| LowerRoman
| UpperRoman
| LowerAlpha
| UpperAlpha

data ListNumberDelim

= DefaultDelim
| Period
| OneParen
| TwoParens

type Attr = (String, [String], [(String, String)])

data Block

= Plain [Inline]
| Para [Inline]
| CodeBlock Attr String
| RawHtml String
| BlockQuote [Block]
| OrderedList ListAttributes [[Block]]
| BulletList [[Block]]
| DefinitionList [([Inline], [[Block]])]
| Header Int [Inline]
| HorizontalRule
| Table [Inline] [Alignment] [Double] [[Block]] [[[Block]]]
| Null

data QuoteType

= SingleQuote
| DoubleQuote

type Target = (String, String)

data MathType

= DisplayMath
| InlineMath

data Inline

= Str String
| Emph [Inline]
| Strong [Inline]
| Strikeout [Inline]
| Superscript [Inline]
| Subscript [Inline]
| SmallCaps [Inline]
| Quoted QuoteType [Inline]
| Cite [Target] [Inline]
| Code String
| Space
| EmDash
| EnDash
| Apostrophe
| Ellipses
| LineBreak
| Math MathType String
| TeX String
| HtmlInline String
| Link [Inline] Target
| Image [Inline] Target
| Note [Block]

processWith :: (Data a, Data b) => (a -> a) -> b -> b
processWithM :: (Monad m, Data a, Data b) => (a -> m a) -> b -> m b
queryWith :: (Data a, Data c) => (a -> [b]) -> c -> [b]
processPandoc :: Data a => (a -> a) -> Pandoc -> Pandoc
queryPandoc :: Data a => (a -> [b]) -> Pandoc -> [b]

Documentation

data Pandoc | Source

Constructors

Pandoc Meta [Block] |

Instances

Eq Pandoc
Data Pandoc
Ord Pandoc
Read Pandoc
Show Pandoc
Typeable Pandoc

data Meta | Source

Bibliographic information for the document: title, authors, date.
Constructors

Meta |

docTitle :: [Inline] |
docAuthors :: [[Inline]] |
docDate :: [Inline] |

Instances

Eq Meta
Data Meta
Ord Meta
Read Meta
Show Meta
Typeable Meta

data Alignment | Source

Alignment of a table column.
Constructors

AlignLeft |
AlignRight |
AlignCenter |
AlignDefault |

Instances

Eq Alignment
Data Alignment
Ord Alignment
Read Alignment
Show Alignment
Typeable Alignment

type ListAttributes = (Int, ListNumberStyle, ListNumberDelim) | Source

List attributes.

data ListNumberStyle | Source

Style of list numbers.
Constructors

DefaultStyle |
Example |
Decimal |
LowerRoman |
UpperRoman |
LowerAlpha |
UpperAlpha |

Instances

Eq ListNumberStyle
Data ListNumberStyle
Ord ListNumberStyle
Read ListNumberStyle
Show ListNumberStyle
Typeable ListNumberStyle

data ListNumberDelim | Source

Delimiter of list numbers.
Constructors

DefaultDelim |
Period |
OneParen |
TwoParens |

Instances

Eq ListNumberDelim
Data ListNumberDelim
Ord ListNumberDelim
Read ListNumberDelim
Show ListNumberDelim
Typeable ListNumberDelim

type Attr = (String, [String], [(String, String)]) | Source

Attributes: identifier, classes, key-value pairs

data Block | Source

Block element.
Constructors

Plain [Inline] | Plain text, not a paragraph
Para [Inline] | Paragraph
CodeBlock Attr String | Code block (literal) with attributes
RawHtml String | Raw HTML block (literal)
BlockQuote [Block] | Block quote (list of blocks)
OrderedList ListAttributes [[Block]] | Ordered list (attributes and a list of items, each a list of blocks)
BulletList [[Block]] | Bullet list (list of items, each a list of blocks)
DefinitionList [([Inline], [[Block]])] | Definition list Each list item is a pair consisting of a term (a list of inlines) and one or more definitions (each a list of blocks)
Header Int [Inline] | Header - level (integer) and text (inlines)
HorizontalRule | Horizontal rule
Table [Inline] [Alignment] [Double] [[Block]] [[[Block]]] | Table, with caption, column alignments, relative column widths (0 = default), column headers (each a list of blocks), and rows (each a list of lists of blocks)
Null | Nothing

Instances

Eq Block
Data Block
Ord Block
Read Block
Show Block
Typeable Block

data QuoteType | Source

Type of quotation marks to use in Quoted inline.
Constructors

SingleQuote |
DoubleQuote |

Instances

Eq QuoteType
Data QuoteType
Ord QuoteType
Read QuoteType
Show QuoteType
Typeable QuoteType

type Target = (String, String) | Source

Link target (URL, title).

data MathType | Source

Type of math element (display or inline).
Constructors

DisplayMath |
InlineMath |

Instances

Eq MathType
Data MathType
Ord MathType
Read MathType
Show MathType
Typeable MathType

data Inline | Source

Inline elements.
Constructors

Str String | Text (string)
Emph [Inline] | Emphasized text (list of inlines)
Strong [Inline] | Strongly emphasized text (list of inlines)
Strikeout [Inline] | Strikeout text (list of inlines)
Superscript [Inline] | Superscripted text (list of inlines)
Subscript [Inline] | Subscripted text (list of inlines)
SmallCaps [Inline] | Small caps text (list of inlines)
Quoted QuoteType [Inline] | Quoted text (list of inlines)
Cite [Target] [Inline] | Citation (list of inlines)
Code String | Inline code (literal)
Space | Inter-word space
EmDash | Em dash
EnDash | En dash
Apostrophe | Apostrophe
Ellipses | Ellipses
LineBreak | Hard line break
Math MathType String | TeX math (literal)
TeX String | LaTeX code (literal)
HtmlInline String | HTML code (literal)
Link [Inline] Target | Hyperlink: text (list of inlines), target
Image [Inline] Target | Image: alt text (list of inlines), target and target
Note [Block] | Footnote or endnote

Instances

Eq Inline
Data Inline
Ord Inline
Read Inline
Show Inline
Typeable Inline

processWith :: (Data a, Data b) => (a -> a) -> b -> b | Source

Applies a transformation on `a`s to matching elements in a `b`.

processWithM :: (Monad m, Data a, Data b) => (a -> m a) -> b -> m b | Source

Like `processWith`, but with monadic transformations.

queryWith :: (Data a, Data c) => (a -> [b]) -> c -> [b] | Source

Runs a query on matching `a` elements in a `c`.

processPandoc :: Data a => (a -> a) -> Pandoc -> Pandoc | Source

queryPandoc :: Data a => (a -> [b]) -> Pandoc -> [b] | Source

Produced by Haddock version 2.4.2