module Network.Wai.Middleware.ContentType.Pandoc where
import Network.Wai.Middleware.ContentType.Types
import Network.Wai.Middleware.ContentType.Text
import Network.HTTP.Types (status200, Status, ResponseHeaders)
import Network.Wai (Response)
import qualified Data.Text.Lazy as LT
import qualified Text.Pandoc as P
import qualified Data.HashMap.Lazy as HM
markdown :: Monad m =>
P.Pandoc
-> FileExtListenerT m ()
markdown i =
tell' $ HM.singleton Markdown $
ResponseVia
i
status200
[("Content-Type","text/markdown")]
markdownOnly
markdownOnly :: P.Pandoc -> Status -> ResponseHeaders -> Response
markdownOnly p =
textOnly (LT.pack $ P.writeMarkdown P.def p)