Name: blazeT
-Version: 0.0.1
+Version: 0.0.2
Homepage:
Bug-Reports: http://github.com/johannesgerer/blazeT/issues
License: MIT
-- | run the MarkupT and return a pair consisting of the result of the
-- computation and the blaze markup rendered with a blaze renderer
-- like 'Text.BlazeT.Renderer.Text.renderHtml'
-runWith :: Monad m => (Markup -> c) -> MarkupT m a -> m (a, c)
-runWith renderer = liftM (second $ \x -> renderer $ wrapMarkup x) . runMarkupT
+runWith :: Monad m => (MarkupI () -> c) -> MarkupT m a -> m (a, c)
+runWith renderer = liftM (second $ renderer . wrapMarkup) . runMarkupT
{-# INLINE runWith #-}
execMarkupT :: Monad m => MarkupT m a -> m Text.Blaze.Markup
execMarkupT = liftM snd . runMarkupT
{-# INLINE execMarkupT #-}
-execWith :: Monad m => (Markup -> c) -> MarkupT m a -> m c
+execWith :: Monad m => (MarkupI () -> c) -> MarkupT m a -> m c
execWith renderer = liftM snd . runWith renderer
{-# INLINE execWith #-}
execMarkup = snd . runMarkup
{-# INLINE execMarkup #-}
-
-instance (Monad m,Monoid a) => Monoid (MarkupT m a) where
- mempty = return mempty
- {-# INLINE mempty #-}
- a `mappend` b = do {a' <- a; b >>= return . (mappend a')}
- {-# INLINE mappend #-}
-
-
-instance Monad m => Text.Blaze.Attributable (MarkupT m a) where
- h ! a = wrapMarkupT2 (Text.Blaze.! a) h
- {-# INLINE (!) #-}
-
-instance Monad m => Text.Blaze.Attributable (a -> MarkupT m b) where
- h ! a = \x -> wrapMarkupT2 (Text.Blaze.! a) $ h x
- {-# INLINE (!) #-}
-
-instance Monad m => IsString (MarkupT m ()) where
- fromString = wrapMarkup . fromString
- {-# INLINE fromString #-}
-
-- | Wrapper for 'Text.Blaze.Markup' is simply
-- 'tell'
wrapMarkupT :: Monad m => Text.Blaze.Markup -> MarkupT m ()
wrapMarkup2 = wrapMarkupT2
{-# INLINE wrapMarkup2 #-}
+
+instance (Monad m,Monoid a) => Monoid (MarkupT m a) where
+ mempty = return mempty
+ {-# INLINE mempty #-}
+ a `mappend` b = do {a' <- a; b >>= return . (mappend a')}
+ {-# INLINE mappend #-}
+
+
+instance Monad m => Text.Blaze.Attributable (MarkupT m a) where
+ h ! a = wrapMarkupT2 (Text.Blaze.! a) h
+ {-# INLINE (!) #-}
+
+instance Monad m => Text.Blaze.Attributable (a -> MarkupT m b) where
+ h ! a = \x -> wrapMarkupT2 (Text.Blaze.! a) $ h x
+ {-# INLINE (!) #-}
+
+instance Monad m => IsString (MarkupT m ()) where
+ fromString = wrapMarkup . fromString
+ {-# INLINE fromString #-}
+
unsafeByteString :: BS.ByteString -> Markup
unsafeByteString = wrapMarkup . Text.Blaze.unsafeByteString
{-# INLINE unsafeByteString #-}
import qualified Text.Blaze.Renderer.Pretty as BU
import Text.BlazeT
-renderMarkup :: MarkupM a -> String
+renderMarkup :: MarkupI a -> String
renderMarkup = BU.renderMarkup . execMarkup
-renderHtml :: MarkupM a -> String
+renderHtml :: MarkupI a -> String
renderHtml = renderMarkup
fromChoiceString :: ChoiceString -> String -> String
fromChoiceString = BU.fromChoiceString
-renderMarkup :: MarkupM a -> String
+renderMarkup :: MarkupI a -> String
renderMarkup = BU.renderMarkup . execMarkup
-renderHtml :: MarkupM a -> String
+renderHtml :: MarkupI a -> String
renderHtml = renderMarkup
import qualified Text.Blaze.Renderer.Text as BU
import Text.BlazeT
-renderMarkupBuilder :: MarkupM a -> B.Builder
+renderMarkupBuilder :: MarkupI a -> B.Builder
renderMarkupBuilder = BU.renderMarkupBuilder . execMarkup
-renderHtmlBuilder :: MarkupM a -> B.Builder
+renderHtmlBuilder :: MarkupI a -> B.Builder
renderHtmlBuilder = renderMarkupBuilder
-renderMarkup :: MarkupM a -> L.Text
+renderMarkup :: MarkupI a -> L.Text
renderMarkup = BU.renderMarkup . execMarkup
-renderHtml :: MarkupM a -> L.Text
+renderHtml :: MarkupI a -> L.Text
renderHtml = renderMarkup
-renderMarkupWith :: (ByteString -> Text) -> MarkupM a -> L.Text
+renderMarkupWith :: (ByteString -> Text) -> MarkupI a -> L.Text
renderMarkupWith g = (BH.renderHtmlWith g) . execMarkup
-renderHtmlWith :: (ByteString -> Text) -> MarkupM a -> L.Text
+renderHtmlWith :: (ByteString -> Text) -> MarkupI a -> L.Text
renderHtmlWith = renderMarkupWith
-renderMarkupBuilderWith :: (ByteString -> Text) -> MarkupM a -> B.Builder
+renderMarkupBuilderWith :: (ByteString -> Text) -> MarkupI a -> B.Builder
renderMarkupBuilderWith g = (BU.renderMarkupBuilderWith g) . execMarkup
-renderHtmlBuilderWith :: (ByteString -> Text) -> MarkupM a -> B.Builder
+renderHtmlBuilderWith :: (ByteString -> Text) -> MarkupI a -> B.Builder
renderHtmlBuilderWith = renderHtmlBuilderWith
import qualified Text.Blaze.Renderer.Utf8 as BU
import Text.BlazeT
-renderMarkupBuilder :: MarkupM a -> B.Builder
+renderMarkupBuilder :: MarkupI a -> B.Builder
renderMarkupBuilder = BU.renderMarkupBuilder . execMarkup
-renderHtmlBuilder :: MarkupM a -> B.Builder
+renderHtmlBuilder :: MarkupI a -> B.Builder
renderHtmlBuilder = renderMarkupBuilder
-renderMarkup :: MarkupM a -> BL.ByteString
+renderMarkup :: MarkupI a -> BL.ByteString
renderMarkup = BU.renderMarkup . execMarkup
-renderHtml :: MarkupM a -> BL.ByteString
+renderHtml :: MarkupI a -> BL.ByteString
renderHtml = renderMarkup
-renderMarkupToByteStringIO :: (BS.ByteString -> IO ()) -> MarkupM a -> IO ()
+renderMarkupToByteStringIO :: (BS.ByteString -> IO ()) -> MarkupI a -> IO ()
renderMarkupToByteStringIO g = BU.renderMarkupToByteStringIO g . execMarkup
-renderHtmlToByteStringIO :: (BS.ByteString -> IO ()) -> MarkupM a -> IO ()
+renderHtmlToByteStringIO :: (BS.ByteString -> IO ()) -> MarkupI a -> IO ()
renderHtmlToByteStringIO = renderMarkupToByteStringIO