-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Pure Haskell commonmark parser. -- -- This library provides some useful extensions to core commonmark -- syntax: smart quotes, definition lists, tables, footnotes, math, and -- more. @package commonmark-extensions @version 0.2.4 module Commonmark.Extensions.Attributes -- | Allow attributes on everything. attributesSpec :: (Monad m, IsInline il) => SyntaxSpec m il bl class HasDiv bl div_ :: HasDiv bl => bl -> bl fencedDivSpec :: (Monad m, IsInline il, IsBlock il bl, HasDiv bl) => SyntaxSpec m il bl class IsInline a => HasSpan a spanWith :: HasSpan a => Attributes -> a -> a bracketedSpanSpec :: (Monad m, IsInline il, HasSpan il) => SyntaxSpec m il bl rawAttributeSpec :: (Monad m, IsBlock il bl) => SyntaxSpec m il bl pAttributes :: forall u m. Monad m => ParsecT [Tok] u m Attributes instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.Attributes.HasSpan (Commonmark.Html.Html a) instance (Commonmark.Extensions.Attributes.HasSpan i, GHC.Base.Semigroup i, GHC.Base.Monoid i) => Commonmark.Extensions.Attributes.HasSpan (Commonmark.SourceMap.WithSourceMap i) instance Commonmark.Extensions.Attributes.HasDiv (Commonmark.Html.Html a) instance (Commonmark.Extensions.Attributes.HasDiv bl, GHC.Base.Semigroup bl) => Commonmark.Extensions.Attributes.HasDiv (Commonmark.SourceMap.WithSourceMap bl) module Commonmark.Extensions.AutoIdentifiers autoIdentifiersSpec :: (Monad m, IsBlock il bl, IsInline il, ToPlainText il) => SyntaxSpec m il bl autoIdentifiersAsciiSpec :: (Monad m, IsBlock il bl, IsInline il, ToPlainText il) => SyntaxSpec m il bl module Commonmark.Extensions.Autolink autolinkSpec :: (Monad m, IsBlock il bl, IsInline il) => SyntaxSpec m il bl module Commonmark.Extensions.DefinitionList definitionListSpec :: (Monad m, IsBlock il bl, IsInline il, Typeable il, Typeable bl, HasDefinitionList il bl) => SyntaxSpec m il bl class IsBlock il bl => HasDefinitionList il bl | il -> bl definitionList :: HasDefinitionList il bl => ListSpacing -> [(il, [bl])] -> bl instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.DefinitionList.HasDefinitionList (Commonmark.Html.Html a) (Commonmark.Html.Html a) instance (Commonmark.Extensions.DefinitionList.HasDefinitionList il bl, GHC.Base.Semigroup bl, GHC.Base.Semigroup il) => Commonmark.Extensions.DefinitionList.HasDefinitionList (Commonmark.SourceMap.WithSourceMap il) (Commonmark.SourceMap.WithSourceMap bl) module Commonmark.Extensions.Emoji class HasEmoji a emoji :: HasEmoji a => Text -> Text -> a emojiSpec :: (Monad m, IsBlock il bl, IsInline il, HasEmoji il) => SyntaxSpec m il bl instance Commonmark.Extensions.Emoji.HasEmoji (Commonmark.Html.Html a) instance (Commonmark.Extensions.Emoji.HasEmoji i, GHC.Base.Monoid i) => Commonmark.Extensions.Emoji.HasEmoji (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.FancyList fancyListSpec :: (Monad m, IsBlock il bl, IsInline il) => SyntaxSpec m il bl module Commonmark.Extensions.Footnote footnoteSpec :: (Monad m, Typeable m, IsBlock il bl, IsInline il, Typeable il, Typeable bl, HasFootnote il bl) => SyntaxSpec m il bl class IsBlock il bl => HasFootnote il bl | il -> bl footnote :: HasFootnote il bl => Int -> Text -> bl -> bl footnoteList :: HasFootnote il bl => [bl] -> bl footnoteRef :: HasFootnote il bl => Text -> Text -> bl -> il instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.Footnote.HasFootnote (Commonmark.Html.Html a) (Commonmark.Html.Html a) instance (Commonmark.Extensions.Footnote.HasFootnote il bl, GHC.Base.Semigroup bl, GHC.Base.Semigroup il) => Commonmark.Extensions.Footnote.HasFootnote (Commonmark.SourceMap.WithSourceMap il) (Commonmark.SourceMap.WithSourceMap bl) instance GHC.Classes.Eq (Commonmark.Extensions.Footnote.FootnoteDef bl m) instance GHC.Classes.Ord (Commonmark.Extensions.Footnote.FootnoteDef bl m) module Commonmark.Extensions.HardLineBreaks hardLineBreaksSpec :: (Monad m, IsBlock il bl, IsInline il) => SyntaxSpec m il bl module Commonmark.Extensions.ImplicitHeadingReferences implicitHeadingReferencesSpec :: (Monad m, IsBlock il bl, IsInline il) => SyntaxSpec m il bl module Commonmark.Extensions.Math class HasMath a inlineMath :: HasMath a => Text -> a displayMath :: HasMath a => Text -> a mathSpec :: (Monad m, IsBlock il bl, IsInline il, HasMath il) => SyntaxSpec m il bl instance Commonmark.Extensions.Math.HasMath (Commonmark.Html.Html a) instance (Commonmark.Extensions.Math.HasMath i, GHC.Base.Monoid i) => Commonmark.Extensions.Math.HasMath (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.PipeTable class HasPipeTable il bl pipeTable :: HasPipeTable il bl => [ColAlignment] -> [il] -> [[il]] -> bl data ColAlignment LeftAlignedCol :: ColAlignment CenterAlignedCol :: ColAlignment RightAlignedCol :: ColAlignment DefaultAlignedCol :: ColAlignment -- | Syntax for pipe tables. Note that this should generally be placed -- AFTER the syntax spec for lists, headings, and other block-level -- constructs, to avoid bad results when non-table lines contain pipe -- characters: use defaultSyntaxSpec <> pipeTableSpec -- rather than pipeTableSpec <> defaultSyntaxSpec. pipeTableSpec :: (Monad m, IsBlock il bl, IsInline il, HasPipeTable il bl) => SyntaxSpec m il bl instance Data.Data.Data Commonmark.Extensions.PipeTable.ColAlignment instance GHC.Classes.Eq Commonmark.Extensions.PipeTable.ColAlignment instance GHC.Show.Show Commonmark.Extensions.PipeTable.ColAlignment instance Data.Data.Data Commonmark.Extensions.PipeTable.PipeTableData instance GHC.Classes.Eq Commonmark.Extensions.PipeTable.PipeTableData instance GHC.Show.Show Commonmark.Extensions.PipeTable.PipeTableData instance Commonmark.Extensions.PipeTable.HasPipeTable (Commonmark.Html.Html a) (Commonmark.Html.Html a) instance (Commonmark.Extensions.PipeTable.HasPipeTable i b, GHC.Base.Monoid b) => Commonmark.Extensions.PipeTable.HasPipeTable (Commonmark.SourceMap.WithSourceMap i) (Commonmark.SourceMap.WithSourceMap b) module Commonmark.Extensions.RebaseRelativePaths rebaseRelativePathsSpec :: forall m bl il. (Monad m, IsInline il, IsBlock il bl) => SyntaxSpec m il bl module Commonmark.Extensions.Smart class IsInline il => HasQuoted il singleQuoted :: HasQuoted il => il -> il doubleQuoted :: HasQuoted il => il -> il smartPunctuationSpec :: (Monad m, IsBlock il bl, IsInline il, HasQuoted il) => SyntaxSpec m il bl instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.Smart.HasQuoted (Commonmark.Html.Html a) instance (Commonmark.Extensions.Smart.HasQuoted i, GHC.Base.Monoid i, GHC.Base.Semigroup i) => Commonmark.Extensions.Smart.HasQuoted (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.Strikethrough class HasStrikethrough a strikethrough :: HasStrikethrough a => a -> a strikethroughSpec :: (Monad m, IsBlock il bl, IsInline il, HasStrikethrough il) => SyntaxSpec m il bl instance Commonmark.Extensions.Strikethrough.HasStrikethrough (Commonmark.Html.Html a) instance (Commonmark.Extensions.Strikethrough.HasStrikethrough i, GHC.Base.Monoid i) => Commonmark.Extensions.Strikethrough.HasStrikethrough (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.Subscript class HasSubscript a subscript :: HasSubscript a => a -> a subscriptSpec :: (Monad m, IsBlock il bl, IsInline il, HasSubscript il) => SyntaxSpec m il bl instance Commonmark.Extensions.Subscript.HasSubscript (Commonmark.Html.Html a) instance (Commonmark.Extensions.Subscript.HasSubscript i, GHC.Base.Monoid i) => Commonmark.Extensions.Subscript.HasSubscript (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.Superscript class HasSuperscript a superscript :: HasSuperscript a => a -> a superscriptSpec :: (Monad m, IsBlock il bl, IsInline il, HasSuperscript il) => SyntaxSpec m il bl instance Commonmark.Extensions.Superscript.HasSuperscript (Commonmark.Html.Html a) instance (Commonmark.Extensions.Superscript.HasSuperscript i, GHC.Base.Monoid i) => Commonmark.Extensions.Superscript.HasSuperscript (Commonmark.SourceMap.WithSourceMap i) module Commonmark.Extensions.TaskList taskListSpec :: (Monad m, IsBlock il bl, IsInline il, HasTaskList il bl) => SyntaxSpec m il bl class IsBlock il bl => HasTaskList il bl taskList :: HasTaskList il bl => ListType -> ListSpacing -> [(Bool, bl)] -> bl instance GHC.Classes.Eq Commonmark.Extensions.TaskList.ListData instance GHC.Show.Show Commonmark.Extensions.TaskList.ListData instance GHC.Classes.Eq Commonmark.Extensions.TaskList.ListItemData instance GHC.Show.Show Commonmark.Extensions.TaskList.ListItemData instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.TaskList.HasTaskList (Commonmark.Html.Html a) (Commonmark.Html.Html a) instance (Commonmark.Extensions.TaskList.HasTaskList il bl, GHC.Base.Semigroup bl, GHC.Base.Semigroup il) => Commonmark.Extensions.TaskList.HasTaskList (Commonmark.SourceMap.WithSourceMap il) (Commonmark.SourceMap.WithSourceMap bl) module Commonmark.Extensions.Wikilinks wikilinksSpec :: (Monad m, IsInline il, HasWikilinks il) => TitlePosition -> SyntaxSpec m il bl -- | Determines whether [[foo|bar]] is a link to page bar -- with title (description) foo (TitleBeforePipe), as in -- GitHub wikis, or a link to page foo with title bar -- (TitleAfterPipe), as in Obsidian and Foam. data TitlePosition TitleBeforePipe :: TitlePosition TitleAfterPipe :: TitlePosition class HasWikilinks il wikilink :: HasWikilinks il => Text -> il -> il instance GHC.Classes.Eq Commonmark.Extensions.Wikilinks.TitlePosition instance GHC.Show.Show Commonmark.Extensions.Wikilinks.TitlePosition instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.Wikilinks.HasWikilinks (Commonmark.Html.Html a) instance (Commonmark.Extensions.Wikilinks.HasWikilinks il, GHC.Base.Semigroup il, GHC.Base.Monoid il) => Commonmark.Extensions.Wikilinks.HasWikilinks (Commonmark.SourceMap.WithSourceMap il) -- | Syntax extensions for the commonmark library. Usage example: -- --
-- import Commonmark -- import Commonmark.Extensions -- import Data.Text.IO as TIO -- import Data.Text.Lazy.IO as TLIO -- -- main :: IO () -- main = do -- let customSyntax = -- (mathSpec <> smartPunctuationSpec <> defaultSyntaxSpec) -- inp <- TIO.getContents -- res <- commonmarkWith customSyntax "stdin" inp -- case res of -- Left e -> error (show e) -- Right (html :: Html ()) -> TLIO.putStr $ renderHtml html --module Commonmark.Extensions -- | Standard extensions for GitHub-flavored Markdown. gfmExtensions :: (Monad m, Typeable m, Typeable il, Typeable bl, IsBlock il bl, IsInline il, HasFootnote il bl, HasEmoji il, HasStrikethrough il, HasPipeTable il bl, HasTaskList il bl, ToPlainText il) => SyntaxSpec m il bl