module Documentation.Haddock.Markup (
markup
, idMarkup
, plainMarkup
) where
import Documentation.Haddock.Types
import Data.Maybe ( fromMaybe )
markup :: DocMarkupH mod id a -> DocH mod id -> a
markup :: forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
DocEmpty = forall mod id a. DocMarkupH mod id a -> a
markupEmpty DocMarkupH mod id a
m
markup DocMarkupH mod id a
m (DocAppend DocH mod id
d1 DocH mod id
d2) = forall mod id a. DocMarkupH mod id a -> a -> a -> a
markupAppend DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d1) (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d2)
markup DocMarkupH mod id a
m (DocString String
s) = forall mod id a. DocMarkupH mod id a -> String -> a
markupString DocMarkupH mod id a
m String
s
markup DocMarkupH mod id a
m (DocParagraph DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupParagraph DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocIdentifier id
x) = forall mod id a. DocMarkupH mod id a -> id -> a
markupIdentifier DocMarkupH mod id a
m id
x
markup DocMarkupH mod id a
m (DocIdentifierUnchecked mod
x) = forall mod id a. DocMarkupH mod id a -> mod -> a
markupIdentifierUnchecked DocMarkupH mod id a
m mod
x
markup DocMarkupH mod id a
m (DocModule (ModLink String
mo Maybe (DocH mod id)
l)) = forall mod id a. DocMarkupH mod id a -> ModLink a -> a
markupModule DocMarkupH mod id a
m (forall id. String -> Maybe id -> ModLink id
ModLink String
mo (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m) Maybe (DocH mod id)
l))
markup DocMarkupH mod id a
m (DocWarning DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupWarning DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocEmphasis DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupEmphasis DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocBold DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupBold DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocMonospaced DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupMonospaced DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocUnorderedList [DocH mod id]
ds) = forall mod id a. DocMarkupH mod id a -> [a] -> a
markupUnorderedList DocMarkupH mod id a
m (forall a b. (a -> b) -> [a] -> [b]
map (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m) [DocH mod id]
ds)
markup DocMarkupH mod id a
m (DocOrderedList [(Int, DocH mod id)]
ds) = forall mod id a. DocMarkupH mod id a -> [(Int, a)] -> a
markupOrderedList DocMarkupH mod id a
m (forall a b. (a -> b) -> [a] -> [b]
map (\(Int
index, DocH mod id
a) -> (Int
index, forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
a)) [(Int, DocH mod id)]
ds)
markup DocMarkupH mod id a
m (DocDefList [(DocH mod id, DocH mod id)]
ds) = forall mod id a. DocMarkupH mod id a -> [(a, a)] -> a
markupDefList DocMarkupH mod id a
m (forall a b. (a -> b) -> [a] -> [b]
map (forall mod id a.
DocMarkupH mod id a -> (DocH mod id, DocH mod id) -> (a, a)
markupPair DocMarkupH mod id a
m) [(DocH mod id, DocH mod id)]
ds)
markup DocMarkupH mod id a
m (DocCodeBlock DocH mod id
d) = forall mod id a. DocMarkupH mod id a -> a -> a
markupCodeBlock DocMarkupH mod id a
m (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
d)
markup DocMarkupH mod id a
m (DocHyperlink (Hyperlink String
u Maybe (DocH mod id)
l)) = forall mod id a. DocMarkupH mod id a -> Hyperlink a -> a
markupHyperlink DocMarkupH mod id a
m (forall id. String -> Maybe id -> Hyperlink id
Hyperlink String
u (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m) Maybe (DocH mod id)
l))
markup DocMarkupH mod id a
m (DocAName String
ref) = forall mod id a. DocMarkupH mod id a -> String -> a
markupAName DocMarkupH mod id a
m String
ref
markup DocMarkupH mod id a
m (DocPic Picture
img) = forall mod id a. DocMarkupH mod id a -> Picture -> a
markupPic DocMarkupH mod id a
m Picture
img
markup DocMarkupH mod id a
m (DocMathInline String
mathjax) = forall mod id a. DocMarkupH mod id a -> String -> a
markupMathInline DocMarkupH mod id a
m String
mathjax
markup DocMarkupH mod id a
m (DocMathDisplay String
mathjax) = forall mod id a. DocMarkupH mod id a -> String -> a
markupMathDisplay DocMarkupH mod id a
m String
mathjax
markup DocMarkupH mod id a
m (DocProperty String
p) = forall mod id a. DocMarkupH mod id a -> String -> a
markupProperty DocMarkupH mod id a
m String
p
markup DocMarkupH mod id a
m (DocExamples [Example]
e) = forall mod id a. DocMarkupH mod id a -> [Example] -> a
markupExample DocMarkupH mod id a
m [Example]
e
markup DocMarkupH mod id a
m (DocHeader (Header Int
l DocH mod id
t)) = forall mod id a. DocMarkupH mod id a -> Header a -> a
markupHeader DocMarkupH mod id a
m (forall id. Int -> id -> Header id
Header Int
l (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
t))
markup DocMarkupH mod id a
m (DocTable (Table [TableRow (DocH mod id)]
h [TableRow (DocH mod id)]
b)) = forall mod id a. DocMarkupH mod id a -> Table a -> a
markupTable DocMarkupH mod id a
m (forall id. [TableRow id] -> [TableRow id] -> Table id
Table (forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m)) [TableRow (DocH mod id)]
h) (forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m)) [TableRow (DocH mod id)]
b))
markupPair :: DocMarkupH mod id a -> (DocH mod id, DocH mod id) -> (a, a)
markupPair :: forall mod id a.
DocMarkupH mod id a -> (DocH mod id, DocH mod id) -> (a, a)
markupPair DocMarkupH mod id a
m (DocH mod id
a,DocH mod id
b) = (forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
a, forall mod id a. DocMarkupH mod id a -> DocH mod id -> a
markup DocMarkupH mod id a
m DocH mod id
b)
idMarkup :: DocMarkupH mod id (DocH mod id)
idMarkup :: forall mod id. DocMarkupH mod id (DocH mod id)
idMarkup = Markup {
markupEmpty :: DocH mod id
markupEmpty = forall mod id. DocH mod id
DocEmpty,
markupString :: String -> DocH mod id
markupString = forall mod id. String -> DocH mod id
DocString,
markupParagraph :: DocH mod id -> DocH mod id
markupParagraph = forall mod id. DocH mod id -> DocH mod id
DocParagraph,
markupAppend :: DocH mod id -> DocH mod id -> DocH mod id
markupAppend = forall mod id. DocH mod id -> DocH mod id -> DocH mod id
DocAppend,
markupIdentifier :: id -> DocH mod id
markupIdentifier = forall mod id. id -> DocH mod id
DocIdentifier,
markupIdentifierUnchecked :: mod -> DocH mod id
markupIdentifierUnchecked = forall mod id. mod -> DocH mod id
DocIdentifierUnchecked,
markupModule :: ModLink (DocH mod id) -> DocH mod id
markupModule = forall mod id. ModLink (DocH mod id) -> DocH mod id
DocModule,
markupWarning :: DocH mod id -> DocH mod id
markupWarning = forall mod id. DocH mod id -> DocH mod id
DocWarning,
markupEmphasis :: DocH mod id -> DocH mod id
markupEmphasis = forall mod id. DocH mod id -> DocH mod id
DocEmphasis,
markupBold :: DocH mod id -> DocH mod id
markupBold = forall mod id. DocH mod id -> DocH mod id
DocBold,
markupMonospaced :: DocH mod id -> DocH mod id
markupMonospaced = forall mod id. DocH mod id -> DocH mod id
DocMonospaced,
markupUnorderedList :: [DocH mod id] -> DocH mod id
markupUnorderedList = forall mod id. [DocH mod id] -> DocH mod id
DocUnorderedList,
markupOrderedList :: [(Int, DocH mod id)] -> DocH mod id
markupOrderedList = forall mod id. [(Int, DocH mod id)] -> DocH mod id
DocOrderedList,
markupDefList :: [(DocH mod id, DocH mod id)] -> DocH mod id
markupDefList = forall mod id. [(DocH mod id, DocH mod id)] -> DocH mod id
DocDefList,
markupCodeBlock :: DocH mod id -> DocH mod id
markupCodeBlock = forall mod id. DocH mod id -> DocH mod id
DocCodeBlock,
markupHyperlink :: Hyperlink (DocH mod id) -> DocH mod id
markupHyperlink = forall mod id. Hyperlink (DocH mod id) -> DocH mod id
DocHyperlink,
markupAName :: String -> DocH mod id
markupAName = forall mod id. String -> DocH mod id
DocAName,
markupPic :: Picture -> DocH mod id
markupPic = forall mod id. Picture -> DocH mod id
DocPic,
markupMathInline :: String -> DocH mod id
markupMathInline = forall mod id. String -> DocH mod id
DocMathInline,
markupMathDisplay :: String -> DocH mod id
markupMathDisplay = forall mod id. String -> DocH mod id
DocMathDisplay,
markupProperty :: String -> DocH mod id
markupProperty = forall mod id. String -> DocH mod id
DocProperty,
markupExample :: [Example] -> DocH mod id
markupExample = forall mod id. [Example] -> DocH mod id
DocExamples,
markupHeader :: Header (DocH mod id) -> DocH mod id
markupHeader = forall mod id. Header (DocH mod id) -> DocH mod id
DocHeader,
markupTable :: Table (DocH mod id) -> DocH mod id
markupTable = forall mod id. Table (DocH mod id) -> DocH mod id
DocTable
}
plainMarkup :: (mod -> String) -> (id -> String) -> DocMarkupH mod id String
plainMarkup :: forall mod id.
(mod -> String) -> (id -> String) -> DocMarkupH mod id String
plainMarkup mod -> String
plainMod id -> String
plainIdent = Markup {
markupEmpty :: String
markupEmpty = String
"",
markupString :: String -> String
markupString = forall a. a -> a
id,
markupParagraph :: String -> String
markupParagraph = forall a. a -> a
id,
markupAppend :: String -> String -> String
markupAppend = forall a. [a] -> [a] -> [a]
(++),
markupIdentifier :: id -> String
markupIdentifier = id -> String
plainIdent,
markupIdentifierUnchecked :: mod -> String
markupIdentifierUnchecked = mod -> String
plainMod,
markupModule :: ModLink String -> String
markupModule = \(ModLink String
m Maybe String
lbl) -> forall a. a -> Maybe a -> a
fromMaybe String
m Maybe String
lbl,
markupWarning :: String -> String
markupWarning = forall a. a -> a
id,
markupEmphasis :: String -> String
markupEmphasis = forall a. a -> a
id,
markupBold :: String -> String
markupBold = forall a. a -> a
id,
markupMonospaced :: String -> String
markupMonospaced = forall a. a -> a
id,
markupUnorderedList :: [String] -> String
markupUnorderedList = forall a b. a -> b -> a
const String
"",
markupOrderedList :: [(Int, String)] -> String
markupOrderedList = forall a b. a -> b -> a
const String
"",
markupDefList :: [(String, String)] -> String
markupDefList = forall a b. a -> b -> a
const String
"",
markupCodeBlock :: String -> String
markupCodeBlock = forall a. a -> a
id,
markupHyperlink :: Hyperlink String -> String
markupHyperlink = \(Hyperlink String
url Maybe String
lbl) -> forall a. a -> Maybe a -> a
fromMaybe String
url Maybe String
lbl,
markupAName :: String -> String
markupAName = forall a. a -> a
id,
markupPic :: Picture -> String
markupPic = \(Picture String
uri Maybe String
title) -> forall a. a -> Maybe a -> a
fromMaybe String
uri Maybe String
title,
markupMathInline :: String -> String
markupMathInline = forall a. a -> a
id,
markupMathDisplay :: String -> String
markupMathDisplay = forall a. a -> a
id,
markupProperty :: String -> String
markupProperty = forall a. a -> a
id,
markupExample :: [Example] -> String
markupExample = forall a b. a -> b -> a
const String
"",
markupHeader :: Header String -> String
markupHeader = \(Header Int
_ String
title) -> String
title,
markupTable :: Table String -> String
markupTable = forall a b. a -> b -> a
const String
""
}