Safe Haskell | None |
---|---|
Language | Haskell2010 |
This provides a variety of optics for traversing and destructuring Pandoc documents.
Note that both Inline
and Block
have Plated
instances which
are useful for traversing the AST.
- data Pandoc :: *
- body :: Lens' Pandoc [Block]
- meta :: String -> Traversal' Pandoc MetaValue
- data Block :: *
- blockInlines :: Traversal' Block Inline
- _Plain :: Prism' Block [Inline]
- _Para :: Prism' Block [Inline]
- _CodeBlock :: Prism' Block String
- _BlockQuote :: Prism' Block [Block]
- _BulletList :: Prism' Block [[Block]]
- _DefinitionList :: Prism' Block [([Inline], [[Block]])]
- _HorizontalRule :: Prism' Block ()
- _Null :: Prism' Block ()
- data Inline :: *
- _Str :: Prism' Inline String
- _Emph :: Prism' Inline [Inline]
- _Strong :: Prism' Inline [Inline]
- _Strikeout :: Prism' Inline [Inline]
- _Superscript :: Prism' Inline [Inline]
- _Subscript :: Prism' Inline [Inline]
- _SmallCaps :: Prism' Inline [Inline]
- _Code :: Prism' Inline String
- _Space :: Prism' Inline ()
- _LineBreak :: Prism' Inline ()
- _Note :: Prism' Inline [Block]
- _Span :: Prism' Inline [Inline]
- class HasAttr a where
- attributes :: Traversal' a Attr
Documents
data Pandoc :: *
meta :: String -> Traversal' Pandoc MetaValue Source
A traversal focusing on a particular metadata value of a document
Blocks
Prisms are provided for the constructors of Block
as well as a Plated
instance.
data Block :: *
_CodeBlock :: Prism' Block String Source
A prism on the text of a CodeBlock
_BlockQuote :: Prism' Block [Block] Source
A prism on a BlockQuote
_BulletList :: Prism' Block [[Block]] Source
A prism on the items of a bullet list Block
_DefinitionList :: Prism' Block [([Inline], [[Block]])] Source
A prism on the items of a definition list Block
_HorizontalRule :: Prism' Block () Source
A prism on a HorizontalRule
Block
Inlines
Prisms are provided for the constructors of Inline
as well as a Plated
instance.
data Inline :: *
_Strikeout :: Prism' Inline [Inline] Source
A prism on a Strikeout
Inline
_Superscript :: Prism' Inline [Inline] Source
A prism on a Superscript
Inline
_Subscript :: Prism' Inline [Inline] Source
A prism on a Subscript
Inline
_SmallCaps :: Prism' Inline [Inline] Source
A prism on a SmallCaps
Inline
_LineBreak :: Prism' Inline () Source
A prism on a LineBreak
Inline