module Text.Haggis.Utils where import Blaze.ByteString.Builder import qualified Data.ByteString.Lazy as BS import qualified Data.Map.Lazy as M import Text.Blaze.Renderer.XmlHtml import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Writers.HTML import Text.XmlHtml renderHtml :: [Node] -> BS.ByteString renderHtml = toLazyByteString . renderHtmlFragment UTF8 mapAccum :: Ord a => [(a, b)] -> M.Map a [b] mapAccum = foldr (\(k,v) -> M.insertWith (++) k [v]) M.empty pandocToHtml :: Pandoc -> [Node] pandocToHtml = renderHtmlNodes . writeHtml def