module TextShow.Text.XHtml () where
import Data.Monoid.Compat
import Text.XHtml.Frameset (Html, HtmlAttr, HotLink,
htmlAttrPair, renderHtmlFragment)
import Text.XHtml.Table (HtmlTable)
import TextShow (TextShow(..), FromStringShow(..), fromString, singleton)
import TextShow.TH (deriveTextShow)
instance TextShow Html where
showb = fromString . renderHtmlFragment
showbList = mconcat . map showb
instance TextShow HtmlAttr where
showb ha = case htmlAttrPair ha of
(str, val) -> fromString str <> singleton '=' <> showb val
$(deriveTextShow ''HotLink)
instance TextShow HtmlTable where
showb = showb . FromStringShow