diff options
Diffstat (limited to 'src/Haddock/Backends')
| -rw-r--r-- | src/Haddock/Backends/Hoogle.hs | 3 | ||||
| -rw-r--r-- | src/Haddock/Backends/LaTeX.hs | 9 | ||||
| -rw-r--r-- | src/Haddock/Backends/Xhtml/DocMarkup.hs | 13 | 
3 files changed, 22 insertions, 3 deletions
diff --git a/src/Haddock/Backends/Hoogle.hs b/src/Haddock/Backends/Hoogle.hs index 521b0c90..1f098d6d 100644 --- a/src/Haddock/Backends/Hoogle.hs +++ b/src/Haddock/Backends/Hoogle.hs @@ -257,7 +257,8 @@ markupTag dflags = Markup {    markupHyperlink            = \(Hyperlink url mLabel) -> (box (TagInline "a") . str) (fromMaybe url mLabel),    markupAName                = const $ str "",    markupProperty             = box TagPre . str, -  markupExample              = box TagPre . str . unlines . map exampleToString +  markupExample              = box TagPre . str . unlines . map exampleToString, +  markupHeader               = \(Header l h) -> box (TagInline $ "h" ++ show l) h    } diff --git a/src/Haddock/Backends/LaTeX.hs b/src/Haddock/Backends/LaTeX.hs index f4edb5fc..5f00d784 100644 --- a/src/Haddock/Backends/LaTeX.hs +++ b/src/Haddock/Backends/LaTeX.hs @@ -1013,9 +1013,16 @@ parLatexMarkup ppId = Markup {    markupHyperlink            = \l _ -> markupLink l,    markupAName                = \_ _ -> empty,    markupProperty             = \p _ -> quote $ verb $ text p, -  markupExample              = \e _ -> quote $ verb $ text $ unlines $ map exampleToString e +  markupExample              = \e _ -> quote $ verb $ text $ unlines $ map exampleToString e, +  markupHeader               = \(Header l h) p -> header l (h p)    }    where +    header 1 d = text "\\section*" <> braces d +    header 2 d = text "\\subsection*" <> braces d +    header l d +      | l > 0 && l <= 6 = text "\\subsubsection*" <> braces d +    header l _ = error $ "impossible header level in LaTeX generation: " ++ show l +      fixString Plain s = latexFilter s      fixString Verb  s = s      fixString Mono  s = latexMonoFilter s diff --git a/src/Haddock/Backends/Xhtml/DocMarkup.hs b/src/Haddock/Backends/Xhtml/DocMarkup.hs index ee77012f..ca963f48 100644 --- a/src/Haddock/Backends/Xhtml/DocMarkup.hs +++ b/src/Haddock/Backends/Xhtml/DocMarkup.hs @@ -53,9 +53,20 @@ parHtmlMarkup qual ppId = Markup {    markupAName                = \aname -> namedAnchor aname << "",    markupPic                  = \(Picture uri t) -> image ! ([src uri] ++ fromMaybe [] (return . title <$> t)),    markupProperty             = pre . toHtml, -  markupExample              = examplesToHtml +  markupExample              = examplesToHtml, +  markupHeader               = \(Header l t) -> makeHeader l t    }    where +    makeHeader :: Int -> Html -> Html +    makeHeader 1 mkup = h1 mkup +    makeHeader 2 mkup = h2 mkup +    makeHeader 3 mkup = h3 mkup +    makeHeader 4 mkup = h4 mkup +    makeHeader 5 mkup = h5 mkup +    makeHeader 6 mkup = h6 mkup +    makeHeader l _ = error $ "Somehow got a header level `" ++ show l ++ "' in DocMarkup!" + +      examplesToHtml l = pre (concatHtml $ map exampleToHtml l) ! [theclass "screen"]      exampleToHtml (Example expression result) = htmlExample  | 
