-- 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.5 module Commonmark.Extensions.Alerts alertSpec :: (Monad m, Typeable m, IsBlock il bl, IsInline il, Typeable il, Typeable bl, HasAlerts il bl) => SyntaxSpec m il bl alertSvgText :: AlertType -> Text alertClass :: AlertType -> Text alertName :: AlertType -> Text data AlertType NoteAlert :: AlertType TipAlert :: AlertType ImportantAlert :: AlertType WarningAlert :: AlertType CautionAlert :: AlertType class IsBlock il bl => HasAlerts il bl | il -> bl alert :: HasAlerts il bl => AlertType -> bl -> bl instance GHC.Classes.Ord Commonmark.Extensions.Alerts.AlertType instance GHC.Classes.Eq Commonmark.Extensions.Alerts.AlertType instance GHC.Show.Show Commonmark.Extensions.Alerts.AlertType instance Commonmark.Types.Rangeable (Commonmark.Html.Html a) => Commonmark.Extensions.Alerts.HasAlerts (Commonmark.Html.Html a) (Commonmark.Html.Html a) instance (Commonmark.Extensions.Alerts.HasAlerts il bl, GHC.Base.Semigroup bl, GHC.Base.Semigroup il) => Commonmark.Extensions.Alerts.HasAlerts (Commonmark.SourceMap.WithSourceMap il) (Commonmark.SourceMap.WithSourceMap bl) 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, HasAlerts il bl) => SyntaxSpec m il bl