Portability | portable |
---|---|
Stability | alpha |
Maintainer | John MacFarlane <jgm@berkeley.edu> |
Definition of Pandoc
data structure for format-neutral representation
of documents.
- data Pandoc = Pandoc Meta [Block]
- data Meta = Meta {}
- 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
- type Target = (String, String)
- data MathType
- 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
Bibliographic information for the document: title, authors, date.
Alignment of a table column.
type ListAttributes = (Int, ListNumberStyle, ListNumberDelim)Source
List attributes.
data ListNumberStyle Source
Style of list numbers.
data ListNumberDelim Source
Delimiter of list numbers.
type Attr = (String, [String], [(String, String)])Source
Attributes: identifier, classes, key-value pairs
Block element.
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 |
Type of quotation marks to use in Quoted inline.
Type of math element (display or inline).
Inline elements.
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 |
processWith :: (Data a, Data b) => (a -> a) -> b -> bSource
Applies a transformation on a
s to matching elements in a b
.
processWithM :: (Monad m, Data a, Data b) => (a -> m a) -> b -> m bSource
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 -> PandocSource
queryPandoc :: Data a => (a -> [b]) -> Pandoc -> [b]Source