module MyDoc2litHTML(litHTML) where import MyDoc import Pretty litHTML = Style { ppHeading = heading , ppDecStr = txt , ppCode = code , ppList = list , ppItem = item , ppParagraph = par , ppText = markHTML , ppFinalize = id } tag t = char '<' <> text t <> char '>' endtag t = text "</" <> text t <> char '>' tagL t d = tag t <> d <> endtag t heading (n,t) = tagL ('H' : show (n + 1)) (text t) txt (x,t) = f (text t) where f = case x of Plain -> id Emph -> tagL "I" Code -> tagL "TT" Math -> tagL "I" list = tagL "UL" . vcat code = vcat . map text item = tagL "LI" par = tagL "P" markHTML x = text "{-+" <+> x <+> text "-}"