-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Parser and renderer for djot light markup syntax.
--   
--   Djot (https://djot.net) is a light markup language. This
--   package provides a data structure to represent djot documents, a very
--   fast parser, and functions to render a parsed document as HTML and as
--   djot.
@package djot
@version 0.1.2.4

module Djot.AST
data Inline
Str :: ByteString -> Inline
Emph :: Inlines -> Inline
Strong :: Inlines -> Inline
Highlight :: Inlines -> Inline
Insert :: Inlines -> Inline
Delete :: Inlines -> Inline
Superscript :: Inlines -> Inline
Subscript :: Inlines -> Inline
Verbatim :: ByteString -> Inline
Symbol :: ByteString -> Inline
Math :: MathStyle -> ByteString -> Inline
Link :: Inlines -> Target -> Inline
Image :: Inlines -> Target -> Inline
Span :: Inlines -> Inline
FootnoteReference :: ByteString -> Inline
UrlLink :: ByteString -> Inline
EmailLink :: ByteString -> Inline
RawInline :: Format -> ByteString -> Inline
NonBreakingSpace :: Inline
Quoted :: QuoteType -> Inlines -> Inline
SoftBreak :: Inline
HardBreak :: Inline
newtype Many a
Many :: Seq a -> Many a
[unMany] :: Many a -> Seq a
type Inlines = Many Node Inline
data MathStyle
DisplayMath :: MathStyle
InlineMath :: MathStyle
newtype Format
Format :: ByteString -> Format
[unFormat] :: Format -> ByteString
data Node a
Node :: Pos -> Attr -> a -> Node a
data Pos
NoPos :: Pos
Pos :: Int -> Int -> Int -> Int -> Pos
addAttr :: Attr -> Node a -> Node a
addPos :: Pos -> Node a -> Node a
data Block
Para :: Inlines -> Block
Section :: Blocks -> Block
Heading :: Int -> Inlines -> Block
BlockQuote :: Blocks -> Block
CodeBlock :: ByteString -> ByteString -> Block
Div :: Blocks -> Block
OrderedList :: OrderedListAttributes -> ListSpacing -> [Blocks] -> Block
BulletList :: ListSpacing -> [Blocks] -> Block
TaskList :: ListSpacing -> [(TaskStatus, Blocks)] -> Block
DefinitionList :: ListSpacing -> [(Inlines, Blocks)] -> Block
ThematicBreak :: Block
Table :: Maybe Caption -> [[Cell]] -> Block
RawBlock :: Format -> ByteString -> Block
type Blocks = Many Node Block
data Doc
Doc :: Blocks -> NoteMap -> ReferenceMap -> ReferenceMap -> Set ByteString -> Doc
[docBlocks] :: Doc -> Blocks
[docFootnotes] :: Doc -> NoteMap
[docReferences] :: Doc -> ReferenceMap
[docAutoReferences] :: Doc -> ReferenceMap
[docAutoIdentifiers] :: Doc -> Set ByteString

-- | A map from labels to contents.
newtype NoteMap
NoteMap :: Map ByteString Blocks -> NoteMap
[unNoteMap] :: NoteMap -> Map ByteString Blocks
insertNote :: ByteString -> Blocks -> NoteMap -> NoteMap
lookupNote :: ByteString -> NoteMap -> Maybe Blocks
newtype ReferenceMap
ReferenceMap :: Map ByteString (ByteString, Attr) -> ReferenceMap
[unReferenceMap] :: ReferenceMap -> Map ByteString (ByteString, Attr)
insertReference :: ByteString -> (ByteString, Attr) -> ReferenceMap -> ReferenceMap
lookupReference :: ByteString -> ReferenceMap -> Maybe (ByteString, Attr)
normalizeLabel :: ByteString -> ByteString
newtype Attr
Attr :: [(ByteString, ByteString)] -> Attr
data Target
Direct :: ByteString -> Target
Reference :: ByteString -> Target
data TaskStatus
Complete :: TaskStatus
Incomplete :: TaskStatus
data Align
AlignLeft :: Align
AlignRight :: Align
AlignCenter :: Align
AlignDefault :: Align
data Cell
Cell :: CellType -> Align -> Inlines -> Cell
data CellType
HeadCell :: CellType
BodyCell :: CellType
newtype Caption
Caption :: Blocks -> Caption
data ListSpacing
Tight :: ListSpacing
Loose :: ListSpacing
data OrderedListAttributes
OrderedListAttributes :: OrderedListStyle -> OrderedListDelim -> Int -> OrderedListAttributes
[orderedListStyle] :: OrderedListAttributes -> OrderedListStyle
[orderedListDelim] :: OrderedListAttributes -> OrderedListDelim
[orderedListStart] :: OrderedListAttributes -> Int
data OrderedListDelim
RightPeriod :: OrderedListDelim
RightParen :: OrderedListDelim
LeftRightParen :: OrderedListDelim
data OrderedListStyle
Decimal :: OrderedListStyle
LetterUpper :: OrderedListStyle
LetterLower :: OrderedListStyle
RomanUpper :: OrderedListStyle
RomanLower :: OrderedListStyle
data QuoteType
SingleQuotes :: QuoteType
DoubleQuotes :: QuoteType
delete :: Inlines -> Inlines
displayMath :: ByteString -> Inlines
insert :: Inlines -> Inlines
emailLink :: ByteString -> Inlines
emph :: Inlines -> Inlines
footnoteReference :: ByteString -> Inlines
hardBreak :: Inlines
highlight :: Inlines -> Inlines
image :: Inlines -> Target -> Inlines
inlineMath :: ByteString -> Inlines
link :: Inlines -> Target -> Inlines
nonBreakingSpace :: Inlines
rawInline :: Format -> ByteString -> Inlines
softBreak :: Inlines
span_ :: Inlines -> Inlines
str :: ByteString -> Inlines
strong :: Inlines -> Inlines
subscript :: Inlines -> Inlines
superscript :: Inlines -> Inlines
singleQuoted :: Inlines -> Inlines
doubleQuoted :: Inlines -> Inlines
symbol :: ByteString -> Inlines
verbatim :: ByteString -> Inlines
urlLink :: ByteString -> Inlines
para :: Inlines -> Blocks
section :: Blocks -> Blocks
heading :: Int -> Inlines -> Blocks
blockQuote :: Blocks -> Blocks
codeBlock :: ByteString -> ByteString -> Blocks
div :: Blocks -> Blocks
bulletList :: ListSpacing -> [Blocks] -> Blocks
orderedList :: OrderedListAttributes -> ListSpacing -> [Blocks] -> Blocks
definitionList :: ListSpacing -> [(Inlines, Blocks)] -> Blocks
taskList :: ListSpacing -> [(TaskStatus, Blocks)] -> Blocks
thematicBreak :: Blocks
table :: Maybe Caption -> [[Cell]] -> Blocks
rawBlock :: Format -> ByteString -> Blocks
inlinesToByteString :: Inlines -> ByteString
instance GHC.Internal.Data.Data.Data Djot.AST.Align
instance GHC.Internal.Data.Data.Data Djot.AST.Attr
instance GHC.Internal.Data.Data.Data Djot.AST.Block
instance GHC.Internal.Data.Data.Data Djot.AST.Caption
instance GHC.Internal.Data.Data.Data Djot.AST.Cell
instance GHC.Internal.Data.Data.Data Djot.AST.CellType
instance GHC.Internal.Data.Data.Data Djot.AST.Doc
instance GHC.Internal.Data.Data.Data Djot.AST.Format
instance GHC.Internal.Data.Data.Data Djot.AST.Inline
instance GHC.Internal.Data.Data.Data Djot.AST.ListSpacing
instance GHC.Internal.Data.Data.Data a => GHC.Internal.Data.Data.Data (Djot.AST.Many a)
instance GHC.Internal.Data.Data.Data Djot.AST.MathStyle
instance GHC.Internal.Data.Data.Data a => GHC.Internal.Data.Data.Data (Djot.AST.Node a)
instance GHC.Internal.Data.Data.Data Djot.AST.NoteMap
instance GHC.Internal.Data.Data.Data Djot.AST.OrderedListAttributes
instance GHC.Internal.Data.Data.Data Djot.AST.OrderedListDelim
instance GHC.Internal.Data.Data.Data Djot.AST.OrderedListStyle
instance GHC.Internal.Data.Data.Data Djot.AST.Pos
instance GHC.Internal.Data.Data.Data Djot.AST.QuoteType
instance GHC.Internal.Data.Data.Data Djot.AST.ReferenceMap
instance GHC.Internal.Data.Data.Data Djot.AST.Target
instance GHC.Internal.Data.Data.Data Djot.AST.TaskStatus
instance GHC.Classes.Eq Djot.AST.Align
instance GHC.Classes.Eq Djot.AST.Attr
instance GHC.Classes.Eq Djot.AST.Block
instance GHC.Classes.Eq Djot.AST.Caption
instance GHC.Classes.Eq Djot.AST.Cell
instance GHC.Classes.Eq Djot.AST.CellType
instance GHC.Classes.Eq Djot.AST.Doc
instance GHC.Classes.Eq Djot.AST.Format
instance GHC.Classes.Eq Djot.AST.Inline
instance GHC.Classes.Eq Djot.AST.ListSpacing
instance GHC.Classes.Eq a => GHC.Classes.Eq (Djot.AST.Many a)
instance GHC.Classes.Eq Djot.AST.MathStyle
instance GHC.Classes.Eq a => GHC.Classes.Eq (Djot.AST.Node a)
instance GHC.Classes.Eq Djot.AST.NoteMap
instance GHC.Classes.Eq Djot.AST.OrderedListAttributes
instance GHC.Classes.Eq Djot.AST.OrderedListDelim
instance GHC.Classes.Eq Djot.AST.OrderedListStyle
instance GHC.Classes.Eq Djot.AST.Pos
instance GHC.Classes.Eq Djot.AST.QuoteType
instance GHC.Classes.Eq Djot.AST.ReferenceMap
instance GHC.Classes.Eq Djot.AST.Target
instance GHC.Classes.Eq Djot.AST.TaskStatus
instance GHC.Internal.Data.Foldable.Foldable Djot.AST.Many
instance GHC.Internal.Data.Foldable.Foldable Djot.AST.Node
instance GHC.Internal.Base.Functor Djot.AST.Many
instance GHC.Internal.Base.Functor Djot.AST.Node
instance GHC.Internal.Generics.Generic Djot.AST.Align
instance GHC.Internal.Generics.Generic Djot.AST.Attr
instance GHC.Internal.Generics.Generic Djot.AST.Block
instance GHC.Internal.Generics.Generic Djot.AST.Caption
instance GHC.Internal.Generics.Generic Djot.AST.Cell
instance GHC.Internal.Generics.Generic Djot.AST.CellType
instance GHC.Internal.Generics.Generic Djot.AST.Doc
instance GHC.Internal.Generics.Generic Djot.AST.Format
instance GHC.Internal.Generics.Generic Djot.AST.Inline
instance GHC.Internal.Generics.Generic Djot.AST.ListSpacing
instance GHC.Internal.Generics.Generic (Djot.AST.Many a)
instance GHC.Internal.Generics.Generic Djot.AST.MathStyle
instance GHC.Internal.Generics.Generic (Djot.AST.Node a)
instance GHC.Internal.Generics.Generic Djot.AST.NoteMap
instance GHC.Internal.Generics.Generic Djot.AST.OrderedListAttributes
instance GHC.Internal.Generics.Generic Djot.AST.OrderedListDelim
instance GHC.Internal.Generics.Generic Djot.AST.OrderedListStyle
instance GHC.Internal.Generics.Generic Djot.AST.Pos
instance GHC.Internal.Generics.Generic Djot.AST.QuoteType
instance GHC.Internal.Generics.Generic Djot.AST.ReferenceMap
instance GHC.Internal.Generics.Generic Djot.AST.Target
instance GHC.Internal.Generics.Generic Djot.AST.TaskStatus
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Align
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Attr
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Block
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Caption
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Cell
instance Language.Haskell.TH.Syntax.Lift Djot.AST.CellType
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Doc
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Format
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Inline
instance Language.Haskell.TH.Syntax.Lift Djot.AST.ListSpacing
instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (Djot.AST.Many a)
instance Language.Haskell.TH.Syntax.Lift Djot.AST.MathStyle
instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (Djot.AST.Node a)
instance Language.Haskell.TH.Syntax.Lift Djot.AST.NoteMap
instance Language.Haskell.TH.Syntax.Lift Djot.AST.OrderedListAttributes
instance Language.Haskell.TH.Syntax.Lift Djot.AST.OrderedListDelim
instance Language.Haskell.TH.Syntax.Lift Djot.AST.OrderedListStyle
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Pos
instance Language.Haskell.TH.Syntax.Lift Djot.AST.QuoteType
instance Language.Haskell.TH.Syntax.Lift Djot.AST.ReferenceMap
instance Language.Haskell.TH.Syntax.Lift Djot.AST.Target
instance Language.Haskell.TH.Syntax.Lift Djot.AST.TaskStatus
instance GHC.Internal.Base.Monoid Djot.AST.Attr
instance GHC.Internal.Base.Monoid Djot.AST.Doc
instance GHC.Internal.Base.Monoid Djot.AST.Blocks
instance GHC.Internal.Base.Monoid Djot.AST.Inlines
instance GHC.Internal.Base.Monoid Djot.AST.NoteMap
instance GHC.Internal.Base.Monoid Djot.AST.Pos
instance GHC.Internal.Base.Monoid Djot.AST.ReferenceMap
instance GHC.Classes.Ord Djot.AST.Align
instance GHC.Classes.Ord Djot.AST.Attr
instance GHC.Classes.Ord Djot.AST.Block
instance GHC.Classes.Ord Djot.AST.Caption
instance GHC.Classes.Ord Djot.AST.Cell
instance GHC.Classes.Ord Djot.AST.CellType
instance GHC.Classes.Ord Djot.AST.Doc
instance GHC.Classes.Ord Djot.AST.Format
instance GHC.Classes.Ord Djot.AST.Inline
instance GHC.Classes.Ord Djot.AST.ListSpacing
instance GHC.Classes.Ord a => GHC.Classes.Ord (Djot.AST.Many a)
instance GHC.Classes.Ord Djot.AST.MathStyle
instance GHC.Classes.Ord a => GHC.Classes.Ord (Djot.AST.Node a)
instance GHC.Classes.Ord Djot.AST.NoteMap
instance GHC.Classes.Ord Djot.AST.OrderedListAttributes
instance GHC.Classes.Ord Djot.AST.OrderedListDelim
instance GHC.Classes.Ord Djot.AST.OrderedListStyle
instance GHC.Classes.Ord Djot.AST.Pos
instance GHC.Classes.Ord Djot.AST.QuoteType
instance GHC.Classes.Ord Djot.AST.ReferenceMap
instance GHC.Classes.Ord Djot.AST.Target
instance GHC.Classes.Ord Djot.AST.TaskStatus
instance GHC.Internal.Base.Semigroup Djot.AST.Attr
instance GHC.Internal.Base.Semigroup Djot.AST.Doc
instance GHC.Internal.Base.Semigroup Djot.AST.Blocks
instance GHC.Internal.Base.Semigroup Djot.AST.Inlines
instance GHC.Internal.Base.Semigroup Djot.AST.NoteMap
instance GHC.Internal.Base.Semigroup Djot.AST.Pos
instance GHC.Internal.Base.Semigroup Djot.AST.ReferenceMap
instance GHC.Internal.Show.Show Djot.AST.Align
instance GHC.Internal.Show.Show Djot.AST.Attr
instance GHC.Internal.Show.Show Djot.AST.Block
instance GHC.Internal.Show.Show Djot.AST.Caption
instance GHC.Internal.Show.Show Djot.AST.Cell
instance GHC.Internal.Show.Show Djot.AST.CellType
instance GHC.Internal.Show.Show Djot.AST.Doc
instance GHC.Internal.Show.Show Djot.AST.Format
instance GHC.Internal.Show.Show Djot.AST.Inline
instance GHC.Internal.Show.Show Djot.AST.ListSpacing
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Djot.AST.Many a)
instance GHC.Internal.Show.Show Djot.AST.MathStyle
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Djot.AST.Node a)
instance GHC.Internal.Show.Show Djot.AST.NoteMap
instance GHC.Internal.Show.Show Djot.AST.OrderedListAttributes
instance GHC.Internal.Show.Show Djot.AST.OrderedListDelim
instance GHC.Internal.Show.Show Djot.AST.OrderedListStyle
instance GHC.Internal.Show.Show Djot.AST.Pos
instance GHC.Internal.Show.Show Djot.AST.QuoteType
instance GHC.Internal.Show.Show Djot.AST.ReferenceMap
instance GHC.Internal.Show.Show Djot.AST.Target
instance GHC.Internal.Show.Show Djot.AST.TaskStatus
instance GHC.Internal.Data.Traversable.Traversable Djot.AST.Many
instance GHC.Internal.Data.Traversable.Traversable Djot.AST.Node

module Djot.Options
newtype ParseOptions
ParseOptions :: SourcePosOption -> ParseOptions

-- | Add attributes for source lines
[sourcePositions] :: ParseOptions -> SourcePosOption
newtype RenderOptions
RenderOptions :: Bool -> RenderOptions

-- | Preserve soft breaks as in the source
[preserveSoftBreaks] :: RenderOptions -> Bool

-- | Adding source positions for blocks adds almost no overhead to parsing.
--   Adding source positions for inlines has a small penalty. For many
--   purposes it is enough to have source lines for blocks, so we offer the
--   option.
data SourcePosOption
NoSourcePos :: SourcePosOption
BlockSourcePos :: SourcePosOption
AllSourcePos :: SourcePosOption
instance GHC.Classes.Eq Djot.Options.SourcePosOption
instance GHC.Classes.Ord Djot.Options.SourcePosOption
instance GHC.Internal.Show.Show Djot.Options.ParseOptions
instance GHC.Internal.Show.Show Djot.Options.RenderOptions
instance GHC.Internal.Show.Show Djot.Options.SourcePosOption

module Djot.Parse
data Parser s a
data Chunk
Chunk :: Int -> Int -> ByteString -> Chunk
[chunkLine] :: Chunk -> Int
[chunkColumn] :: Chunk -> Int
[chunkBytes] :: Chunk -> ByteString

-- | Apply a parser to a bytestring with a given user state. Returns
--   Nothing on failure, Just result on success.
parse :: Parser s a -> s -> [Chunk] -> Maybe a

-- | Parse an ASCII character.
asciiChar :: Char -> Parser s ()

-- | Parse a byte satisfying a predicate.
satisfyByte :: (Char -> Bool) -> Parser s Char

-- | Skip byte satisfying a predicate.
skipSatisfyByte :: (Char -> Bool) -> Parser s ()

-- | Parse a (possibly multibyte) Char satisfying a predicate. Assumes
--   UTF-8 encoding.
satisfy :: (Char -> Bool) -> Parser s Char

-- | Parse any character. Assumes UTF-8 encoding.
anyChar :: Parser s Char

-- | Apply parser 0 or more times, discarding result.
skipMany :: Parser s a -> Parser s ()

-- | Apply parser 1 or more times, discarding result.
skipSome :: Parser s a -> Parser s ()

-- | Succeeds if no more input.
eof :: Parser s ()

-- | Returns current user state.
getState :: Parser s s

-- | Updates user state.
updateState :: (s -> s) -> Parser s ()

-- | Apply a parser, returning its result but not changing state or
--   advancing.
lookahead :: Parser s a -> Parser s a

-- | Returns current byte as Char.
peek :: Parser s (Maybe Char)

-- | Returns previous byte as Char. Doesn't cross chunk boundaries.
peekBack :: Parser s (Maybe Char)

-- | Succeeds if parser fails.
fails :: Parser s a -> Parser s ()

-- | Always fails.
failed :: Parser s a

-- | Returns result of parse together with the bytestring consumed.
withByteString :: Parser s a -> Parser s (a, ByteString)

-- | Returns bytestring consumed by parse.
byteStringOf :: Parser s a -> Parser s ByteString

-- | Succeeds if first parser succeeds and second fails, returning first
--   parser's value.
notFollowedBy :: Parser s a -> Parser s b -> Parser s a

-- | Apply parser but still succeed if it doesn't succeed.
optional_ :: Parser s a -> Parser s ()

-- | Parse a bytestring.
byteString :: ByteString -> Parser s ()

-- | Returns byte offset in input.
getOffset :: Parser s Int

-- | Returns the line number.
sourceLine :: Parser s Int

-- | Returns the source column number. (Tab stop is computed at 4.)
sourceColumn :: Parser st Int

-- | Try the first parser: if it succeeds, apply the second, returning its
--   result, otherwise the third.
branch :: Parser s b -> Parser s a -> Parser s a -> Parser s a

-- | Parse an end of line sequence.
endline :: Parser s ()

-- | Return the rest of line (including the end of line).
restOfLine :: Parser s ByteString

-- | Skip 1 or more ASCII whitespace.
ws :: Parser s ()

-- | Next character is ASCII whitespace.
followedByWhitespace :: Parser s ()

-- | Followed by 0 or more spaces/tabs and endline or eof.
followedByBlankLine :: Parser s ()

-- | Skip one space or tab.
spaceOrTab :: Parser s ()

-- | Is space, tab, `r`, or `n`.
isWs :: Char -> Bool
strToUtf8 :: String -> ByteString
utf8ToStr :: ByteString -> String
instance GHC.Internal.Base.Alternative (Djot.Parse.Parser s)
instance GHC.Internal.Base.Applicative (Djot.Parse.Parser s)
instance GHC.Classes.Eq Djot.Parse.Chunk
instance GHC.Internal.Base.Functor (Djot.Parse.Parser s)
instance GHC.Internal.Base.Monad (Djot.Parse.Parser s)
instance GHC.Internal.Base.MonadPlus (Djot.Parse.Parser s)
instance GHC.Classes.Ord Djot.Parse.Chunk
instance GHC.Internal.Show.Show Djot.Parse.Chunk
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Djot.Parse.ParserState a)

module Djot.Html
inlinesToByteString :: Inlines -> ByteString
renderHtml :: RenderOptions -> Doc -> Builder
newtype RenderOptions
RenderOptions :: Bool -> RenderOptions

-- | Preserve soft breaks as in the source
[preserveSoftBreaks] :: RenderOptions -> Bool
instance Djot.Html.ToBuilder Djot.AST.Inlines
instance Djot.Html.ToBuilder Djot.AST.Blocks
instance Djot.Html.ToBuilder (Djot.AST.Node Djot.AST.Block)
instance Djot.Html.ToBuilder (Djot.AST.Node Djot.AST.Inline)

module Djot.Djot
renderDjot :: RenderOptions -> Doc -> Doc Text
newtype RenderOptions
RenderOptions :: Bool -> RenderOptions

-- | Preserve soft breaks as in the source
[preserveSoftBreaks] :: RenderOptions -> Bool
instance Djot.Djot.ToLayout Djot.AST.Attr
instance Djot.Djot.ToLayout Djot.Djot.BlockAttr
instance Djot.Djot.ToLayout Djot.AST.Inlines
instance Djot.Djot.ToLayout Djot.AST.Blocks
instance Djot.Djot.ToLayout (Djot.AST.Node Djot.AST.Block)
instance Djot.Djot.ToLayout (Djot.AST.Node Djot.AST.Inline)

module Djot.Attributes
pAttributes :: Parser s Attr

-- | Resumable parser, returning parts in reverse order.
parseAttributes :: Maybe AttrParserState -> ByteString -> AttrParseResult
data AttrParserState
data AttrParseResult
Done :: (Attr, Int) -> AttrParseResult
Failed :: Int -> AttrParseResult
Partial :: AttrParserState -> AttrParseResult
instance GHC.Classes.Eq Djot.Attributes.AState
instance GHC.Classes.Eq Djot.Attributes.AttrPart
instance GHC.Classes.Ord Djot.Attributes.AState
instance GHC.Classes.Ord Djot.Attributes.AttrPart
instance GHC.Internal.Show.Show Djot.Attributes.AState
instance GHC.Internal.Show.Show Djot.Attributes.AttrParseResult
instance GHC.Internal.Show.Show Djot.Attributes.AttrParserState
instance GHC.Internal.Show.Show Djot.Attributes.AttrPart

module Djot.Inlines
parseInlines :: ParseOptions -> Seq Chunk -> Either String Inlines
parseTableCells :: ParseOptions -> Chunk -> Either String [Inlines]
instance GHC.Classes.Eq Djot.Inlines.Delim
instance GHC.Classes.Eq Djot.Inlines.InlineParseMode
instance GHC.Classes.Ord Djot.Inlines.Delim
instance GHC.Classes.Ord Djot.Inlines.InlineParseMode
instance GHC.Internal.Show.Show Djot.Inlines.Delim
instance GHC.Internal.Show.Show Djot.Inlines.InlineParseMode
instance GHC.Internal.Show.Show Djot.Inlines.ParserState

module Djot.Blocks
parseDoc :: ParseOptions -> ByteString -> Either String Doc
toIdentifier :: ByteString -> ByteString
instance GHC.Classes.Eq Djot.Blocks.BlockType
instance GHC.Classes.Eq Djot.Blocks.Case
instance GHC.Classes.Eq Djot.Blocks.ContainerData
instance GHC.Classes.Eq Djot.Blocks.ListType
instance GHC.Classes.Ord Djot.Blocks.ContainerData
instance GHC.Classes.Ord Djot.Blocks.ListType
instance GHC.Internal.Show.Show Djot.Blocks.BlockType
instance GHC.Internal.Show.Show Djot.Blocks.ContainerData
instance GHC.Internal.Show.Show Djot.Blocks.ListType

module Djot
parseDoc :: ParseOptions -> ByteString -> Either String Doc
renderHtml :: RenderOptions -> Doc -> Builder
renderDjot :: RenderOptions -> Doc -> Doc Text
toIdentifier :: ByteString -> ByteString
newtype ParseOptions
ParseOptions :: SourcePosOption -> ParseOptions

-- | Add attributes for source lines
[sourcePositions] :: ParseOptions -> SourcePosOption

-- | Adding source positions for blocks adds almost no overhead to parsing.
--   Adding source positions for inlines has a small penalty. For many
--   purposes it is enough to have source lines for blocks, so we offer the
--   option.
data SourcePosOption
NoSourcePos :: SourcePosOption
BlockSourcePos :: SourcePosOption
AllSourcePos :: SourcePosOption
newtype RenderOptions
RenderOptions :: Bool -> RenderOptions

-- | Preserve soft breaks as in the source
[preserveSoftBreaks] :: RenderOptions -> Bool
