pandoc-types-1.10: Types for representing a structured document

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

Text.Pandoc.Definition

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)])
- nullAttr :: Attr
- type TableCell = [Block]
- type Format = String
- data Block
  - = Plain [Inline]
  - | Para [Inline]
  - | CodeBlock Attr String
  - | RawBlock Format String
  - | BlockQuote [Block]
  - | OrderedList ListAttributes [[Block]]
  - | BulletList [[Block]]
  - | DefinitionList [([Inline], [[Block]])]
  - | Header Int Attr [Inline]
  - | HorizontalRule
  - | Table [Inline] [Alignment] [Double] [TableCell] [[TableCell]]
  - | 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 [Citation] [Inline]
  - | Code Attr String
  - | Space
  - | LineBreak
  - | Math MathType String
  - | RawInline Format String
  - | Link [Inline] Target
  - | Image [Inline] Target
  - | Note [Block]
- data Citation = Citation {
  - citationId :: String
  - citationPrefix :: [Inline]
  - citationSuffix :: [Inline]
  - citationMode :: CitationMode
  - citationNoteNum :: Int
  - citationHash :: Int
  }
- data CitationMode
  - = AuthorInText
  - | SuppressAuthor
  - | NormalCitation

# Documentation

data Pandoc

Constructors

Pandoc Meta [Block] |

Instances

Eq Pandoc |
Data Pandoc |
Ord Pandoc |
Read Pandoc |
Show Pandoc |
Typeable Pandoc |
Generic Pandoc |

data Meta

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

Constructors

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

Instances

Eq Meta |
Data Meta |
Ord Meta |
Read Meta |
Show Meta |
Typeable Meta |
Generic Meta |

data Alignment

Alignment of a table column.

Constructors

AlignLeft |
AlignRight |
AlignCenter |
AlignDefault |

Instances

Eq Alignment |
Data Alignment |
Ord Alignment |
Read Alignment |
Show Alignment |
Typeable Alignment |
Generic Alignment |

type ListAttributes = (Int, ListNumberStyle, ListNumberDelim)

List attributes.

data ListNumberStyle

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 |
Generic ListNumberStyle |

data ListNumberDelim

Delimiter of list numbers.

Constructors

DefaultDelim |
Period |
OneParen |
TwoParens |

Instances

Eq ListNumberDelim |
Data ListNumberDelim |
Ord ListNumberDelim |
Read ListNumberDelim |
Show ListNumberDelim |
Typeable ListNumberDelim |
Generic ListNumberDelim |

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

Attributes: identifier, classes, key-value pairs

nullAttr :: Attr

type TableCell = [Block]

Table cells are list of Blocks

type Format = String

Formats for raw blocks

data Block

Block element.

Constructors

Plain [Inline] | Plain text, not a paragraph
Para [Inline] | Paragraph
CodeBlock Attr String | Code block (literal) with attributes
RawBlock Format String | Raw block
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 Attr [Inline] | Header - level (integer) and text (inlines)
HorizontalRule | Horizontal rule
Table [Inline] [Alignment] [Double] [TableCell] [[TableCell]] | 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 |
Generic Block |
Monoid (Many Block) |

data QuoteType

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 |
Generic QuoteType |

type Target = (String, String)

Link target (URL, title).

data MathType

Type of math element (display or inline).

Constructors

DisplayMath |
InlineMath |

Instances

Eq MathType |
Data MathType |
Ord MathType |
Read MathType |
Show MathType |
Typeable MathType |
Generic MathType |

data Inline

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 [Citation] [Inline] | Citation (list of inlines)
Code Attr String | Inline code (literal)
Space | Inter-word space
LineBreak | Hard line break
Math MathType String | TeX math (literal)
RawInline Format String | Raw inline
Link [Inline] Target | Hyperlink: text (list of inlines), target
Image [Inline] Target | Image: alt text (list of inlines), target
Note [Block] | Footnote or endnote

Instances

Eq Inline |
Data Inline |
Ord Inline |
Read Inline |
Show Inline |
Typeable Inline |
IsString Inlines |
Generic Inline |
Monoid Inlines |

data Citation

Constructors

Citation |
Fields citationId :: String citationPrefix :: [Inline] citationSuffix :: [Inline] citationMode :: CitationMode citationNoteNum :: Int citationHash :: Int

Instances

Eq Citation |
Data Citation |
Ord Citation |
Read Citation |
Show Citation |
Typeable Citation |
Generic Citation |

data CitationMode

Constructors

AuthorInText |
SuppressAuthor |
NormalCitation |

Instances

Eq CitationMode |
Data CitationMode |
Ord CitationMode |
Read CitationMode |
Show CitationMode |
Typeable CitationMode |
Generic CitationMode |