{-# LANGUAGE CPP                   #-}
{-# LANGUAGE DeriveDataTypeable    #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings     #-}
module Servant.HTML.Lucid where
import           Data.Typeable      (Typeable)
import           Lucid              (ToHtml (..), renderBS)
import qualified Network.HTTP.Media as M
import           Servant.API        (Accept (..), MimeRender (..))
data HTML deriving Typeable
instance Accept HTML where
    contentType _ = "text" M.// "html" M./: ("charset", "utf-8")
instance ToHtml a => MimeRender HTML a where
    mimeRender _ = renderBS . toHtml