nice-html-0.3.0: A fast and nice HTML templating library with distinct compilation/rendering phases.

Safe HaskellNone
LanguageHaskell2010

Text.Html.Nice

Contents

Synopsis

Nice HTML writer monad

data Attr a Source #

Constructors

(:=) 

Fields

(:-) 

Fields

Instances

Functor Attr Source # 

Methods

fmap :: (a -> b) -> Attr a -> Attr b #

(<$) :: a -> Attr b -> Attr a #

Foldable Attr Source # 

Methods

fold :: Monoid m => Attr m -> m #

foldMap :: Monoid m => (a -> m) -> Attr a -> m #

foldr :: (a -> b -> b) -> b -> Attr a -> b #

foldr' :: (a -> b -> b) -> b -> Attr a -> b #

foldl :: (b -> a -> b) -> b -> Attr a -> b #

foldl' :: (b -> a -> b) -> b -> Attr a -> b #

foldr1 :: (a -> a -> a) -> Attr a -> a #

foldl1 :: (a -> a -> a) -> Attr a -> a #

toList :: Attr a -> [a] #

null :: Attr a -> Bool #

length :: Attr a -> Int #

elem :: Eq a => a -> Attr a -> Bool #

maximum :: Ord a => Attr a -> a #

minimum :: Ord a => Attr a -> a #

sum :: Num a => Attr a -> a #

product :: Num a => Attr a -> a #

Traversable Attr Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Attr a -> f (Attr b) #

sequenceA :: Applicative f => Attr (f a) -> f (Attr a) #

mapM :: Monad m => (a -> m b) -> Attr a -> m (Attr b) #

sequence :: Monad m => Attr (m a) -> m (Attr a) #

Eq a => Eq (Attr a) Source # 

Methods

(==) :: Attr a -> Attr a -> Bool #

(/=) :: Attr a -> Attr a -> Bool #

Show a => Show (Attr a) Source # 

Methods

showsPrec :: Int -> Attr a -> ShowS #

show :: Attr a -> String #

showList :: [Attr a] -> ShowS #

HTML5 support

Rendering

data FastMarkup a Source #

Instances

Functor FastMarkup Source # 

Methods

fmap :: (a -> b) -> FastMarkup a -> FastMarkup b #

(<$) :: a -> FastMarkup b -> FastMarkup a #

Foldable FastMarkup Source # 

Methods

fold :: Monoid m => FastMarkup m -> m #

foldMap :: Monoid m => (a -> m) -> FastMarkup a -> m #

foldr :: (a -> b -> b) -> b -> FastMarkup a -> b #

foldr' :: (a -> b -> b) -> b -> FastMarkup a -> b #

foldl :: (b -> a -> b) -> b -> FastMarkup a -> b #

foldl' :: (b -> a -> b) -> b -> FastMarkup a -> b #

foldr1 :: (a -> a -> a) -> FastMarkup a -> a #

foldl1 :: (a -> a -> a) -> FastMarkup a -> a #

toList :: FastMarkup a -> [a] #

null :: FastMarkup a -> Bool #

length :: FastMarkup a -> Int #

elem :: Eq a => a -> FastMarkup a -> Bool #

maximum :: Ord a => FastMarkup a -> a #

minimum :: Ord a => FastMarkup a -> a #

sum :: Num a => FastMarkup a -> a #

product :: Num a => FastMarkup a -> a #

Eq a => Eq (FastMarkup a) Source # 

Methods

(==) :: FastMarkup a -> FastMarkup a -> Bool #

(/=) :: FastMarkup a -> FastMarkup a -> Bool #

Show a => Show (FastMarkup a) Source # 
Generic (FastMarkup a) Source # 

Associated Types

type Rep (FastMarkup a) :: * -> * #

Methods

from :: FastMarkup a -> Rep (FastMarkup a) x #

to :: Rep (FastMarkup a) x -> FastMarkup a #

Monoid (FastMarkup a) Source # 
NFData a => NFData (FastMarkup a) Source # 

Methods

rnf :: FastMarkup a -> () #

(Render a m, Monad m) => Render (FastMarkup a) m Source # 

Methods

r :: FastMarkup a -> m Builder Source #

type Rep (FastMarkup a) Source # 

class Render a m where Source #

Minimal complete definition

r

Methods

r :: a -> m Builder Source #

Instances

Monad m => Render Void m Source # 

Methods

r :: Void -> m Builder Source #

Monad m => Render Text m Source # 

Methods

r :: Text -> m Builder Source #

Monad m => Render Text m Source # 

Methods

r :: Text -> m Builder Source #

Monad m => Render Builder m Source # 

Methods

r :: Builder -> m Builder Source #

(Render a m, Monad m) => Render (FastMarkup a) m Source # 

Methods

r :: FastMarkup a -> m Builder Source #

(ToFastMarkup a, Monad m) => Render (RenderToFastMarkup a) m Source # 
(Render b m, (~) (* -> *) m' (ReaderT * a m)) => Render (a -> b) m' Source # 

Methods

r :: (a -> b) -> m' Builder Source #

(Monad m, Render b m) => Render ((:$) a b) m Source #

Defer application of an argument to rendering

Methods

r :: (a :$ b) -> m Builder Source #

data a :$ b infixl 0 Source #

Constructors

(:$) (FastMarkup (a -> b)) a infixl 0 

Instances

Functor ((:$) a) Source # 

Methods

fmap :: (a -> b) -> (a :$ a) -> a :$ b #

(<$) :: a -> (a :$ b) -> a :$ a #

Show a => Show ((:$) a b) Source # 

Methods

showsPrec :: Int -> (a :$ b) -> ShowS #

show :: (a :$ b) -> String #

showList :: [a :$ b] -> ShowS #

(Monad m, Render b m) => Render ((:$) a b) m Source #

Defer application of an argument to rendering

Methods

r :: (a :$ b) -> m Builder Source #

renderM :: Monad m => (a -> m Builder) -> FastMarkup a -> m Builder Source #

Render FastMarkup

renderMs :: Monad m => (a -> m (FastMarkup Void)) -> FastMarkup a -> m Builder Source #

Render FastMarkup by recursively rendering any sub-markup.

render :: FastMarkup Void -> Builder Source #

Render FastMarkup that has no holes.

Utility

Re-exports of Builder functions

Re-exports of lazy Text functions

fromStrict :: Text -> Text #

O(c) Convert a strict Text into a lazy Text.

toStrict :: Text -> Text #

O(n) Convert a lazy Text into a strict Text.