{-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE RankNTypes #-} module Text.BlazeT ( -- * DO NOT READ THIS. READ "Text.BlazeT.Internal" INSTEAD -- $descr -- * DO NOT READ THIS -- -- * Important types. Markup , Tag , Attribute , AttributeValue -- -- * Creating attributes. , dataAttribute , customAttribute -- -- * Converting values to Markup. , ToMarkup (..) , text , preEscapedText , lazyText , preEscapedLazyText , string , preEscapedString , unsafeByteString , unsafeLazyByteString -- -- * Comments , textComment , lazyTextComment , stringComment , unsafeByteStringComment , unsafeLazyByteStringComment -- -- * Creating tags. , textTag , stringTag -- -- * Converting values to attribute values. , Text.Blaze.ToValue (..) , textValue , preEscapedTextValue , lazyTextValue , preEscapedLazyTextValue , stringValue , preEscapedStringValue , unsafeByteStringValue , unsafeLazyByteStringValue -- -- * Setting attributes , (!) , (!?) -- -- * Modifiying Markup trees , contents ,MarkupT(..) ,MarkupI ,mapMarkupT ,MarkupM ,Markup2 ,runMarkupT ,runMarkup ,runWith ,execMarkupT ,execMarkup ,execWith ) where import qualified Text.Blaze import Text.BlazeT.Internal as Text.BlazeT.Internal class ToMarkup a where toMarkup :: a -> Markup preEscapedToMarkup :: a -> Markup -- test :: (ToMarkup a, Monad m) => a -> MarkupT m () -- test = toMarkup instance Text.Blaze.ToMarkup a => ToMarkup a where toMarkup = wrapMarkup . Text.Blaze.toMarkup {-# INLINE toMarkup #-} preEscapedToMarkup = wrapMarkup . Text.Blaze.preEscapedToMarkup {-# INLINE preEscapedToMarkup #-} -- $descr -- -- Due due a Haddock bug, this documentation is misleading. Please -- read "Text.BlazeT.Internal" instead. -- -- (The bug shows both @Text.Blaze.Markup@ and @Text.BlazeT.Markup@ as -- "Markup".) -- -- Use this documentation only to see which entities are exported by -- this module.