-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Abstraction for markup languages -- -- This library tries to make things more uniformly controlled when -- working with markup languages in haskell - namely deployment of -- markup assets. -- -- Deployment, from this library's perspective, means how -- something can be rendered to markup, yet still achieve the same -- "result" to the end user (namely the DOM). -- -- We use monad transformers to infer the deployment mechanism for a -- context of markup. The three deployment mechanisms provided include -- inline (content is slapped between markup tags), hosted -- (entirely external - uses raw text as a url), and local (which -- uses the urlpath library to realize what kind of link to -- create). -- -- As an example, here is remotely hosted image: -- --
--   image = deploy Image "foo.png" :: HostedMarkupM (Html ())
--   
--   λ> renderMarkup image
--   
--   <img src="foo.png">
--   
-- -- Here is the same example, going relative instead: -- --
--   image :: LocalMarkupM (HtmlT AbsoluteUrl ())
--   image = deploy Image $ "foo.png" <?> ("some","getparam")
--   
--   λ> (runUrlReader $ renderTextT $ renderMarkup image $
--      ) "example.com"
--   
--   "<img src=\"example.com/foo.png?some=getparam\">"
--   
@package markup @version 0.0.7 module Data.Markup.Types newtype InlineMarkupT m a InlineMarkupT :: m a -> InlineMarkupT m a runInlineMarkupT :: InlineMarkupT m a -> m a newtype HostedMarkupT m a HostedMarkupT :: m a -> HostedMarkupT m a runHostedMarkupT :: HostedMarkupT m a -> m a newtype LocalMarkupT m a LocalMarkupT :: m a -> LocalMarkupT m a runLocalMarkupT :: LocalMarkupT m a -> m a newtype InlineMarkupM a InlineMarkupM :: a -> InlineMarkupM a runInlineMarkupM :: InlineMarkupM a -> a newtype HostedMarkupM a HostedMarkupM :: a -> HostedMarkupM a runHostedMarkupM :: HostedMarkupM a -> a newtype LocalMarkupM a LocalMarkupM :: a -> LocalMarkupM a runLocalMarkupM :: LocalMarkupM a -> a instance Monoid a => Monoid (LocalMarkupM a) instance Monoid a => Monoid (HostedMarkupM a) instance Monoid a => Monoid (InlineMarkupM a) instance Monad m => Monad (LocalMarkupT m) instance Applicative f => Applicative (LocalMarkupT f) instance Monoid (m a) => Monoid (LocalMarkupT m a) instance Monad m => Monad (HostedMarkupT m) instance Applicative f => Applicative (HostedMarkupT f) instance Monoid (m a) => Monoid (HostedMarkupT m a) instance Monad m => Monad (InlineMarkupT m) instance Applicative f => Applicative (InlineMarkupT f) instance Monoid (m a) => Monoid (InlineMarkupT m a) instance Functor m => Functor (InlineMarkupT m) instance Functor m => Functor (HostedMarkupT m) instance Functor m => Functor (LocalMarkupT m) instance Functor InlineMarkupM instance Functor HostedMarkupM instance Functor LocalMarkupM instance Monad LocalMarkupM instance Applicative LocalMarkupM instance Monad HostedMarkupM instance Applicative HostedMarkupM instance Monad InlineMarkupM instance Applicative InlineMarkupM instance MonadTrans LocalMarkupT instance MonadTrans HostedMarkupT instance MonadTrans InlineMarkupT module Data.Markup.Class -- | Overload assets and their markup library, over some deployment class Deploy symbol input markup (m :: * -> *) deploy :: Deploy symbol input markup m => symbol -> input -> m markup -- | Overload extraction of (co)monad class Monad m => Markup (m :: * -> *) renderMarkup :: Markup m => m a -> a toMarkup :: Markup m => a -> m a instance Markup LocalMarkupM instance Markup HostedMarkupM instance Markup InlineMarkupM module Data.Markup.Library -- | The Image symbol data Image Image :: Image -- | The JavaScript symbol data JavaScript JavaScript :: JavaScript -- | The Css symbol data Css Css :: Css instance Show Image instance Eq Image instance Show JavaScript instance Eq JavaScript instance Show Css instance Eq Css instance (Url Text MarkupM, Monad m) => Deploy Css (UrlString Text) (MarkupM ()) (LocalMarkupT m) instance (Url Text MarkupM, Monad m) => Deploy Css Text (MarkupM ()) (LocalMarkupT m) instance (ToValue input, Monad m) => Deploy Css input (MarkupM ()) (HostedMarkupT m) instance (ToMarkup input, Monad m) => Deploy Css input (MarkupM ()) (InlineMarkupT m) instance Url Text MarkupM => Deploy Css (UrlString Text) (MarkupM ()) LocalMarkupM instance Url Text MarkupM => Deploy Css Text (MarkupM ()) LocalMarkupM instance ToValue input => Deploy Css input (MarkupM ()) HostedMarkupM instance ToMarkup input => Deploy Css input (MarkupM ()) InlineMarkupM instance (Url Text MarkupM, Monad m) => Deploy JavaScript (UrlString Text) (MarkupM ()) (LocalMarkupT m) instance (Url Text MarkupM, Monad m) => Deploy JavaScript Text (MarkupM ()) (LocalMarkupT m) instance (ToValue input, Monad m) => Deploy JavaScript input (MarkupM ()) (HostedMarkupT m) instance (ToMarkup input, Monad m) => Deploy JavaScript input (MarkupM ()) (InlineMarkupT m) instance Url Text MarkupM => Deploy JavaScript (UrlString Text) (MarkupM ()) LocalMarkupM instance Url Text MarkupM => Deploy JavaScript Text (MarkupM ()) LocalMarkupM instance ToValue input => Deploy JavaScript input (MarkupM ()) HostedMarkupM instance ToMarkup input => Deploy JavaScript input (MarkupM ()) InlineMarkupM instance (Url Text MarkupM, Monad m) => Deploy Image (UrlString Text) (MarkupM ()) (LocalMarkupT m) instance (Url Text MarkupM, Monad m) => Deploy Image Text (MarkupM ()) (LocalMarkupT m) instance (ToValue input, Monad m) => Deploy Image input (MarkupM ()) (HostedMarkupT m) instance Url Text MarkupM => Deploy Image (UrlString Text) (MarkupM ()) LocalMarkupM instance Url Text MarkupM => Deploy Image Text (MarkupM ()) LocalMarkupM instance ToValue input => Deploy Image input (MarkupM ()) HostedMarkupM instance (Url Text m, Monad m') => Deploy Css (UrlString Text) (HtmlT m ()) (LocalMarkupT m') instance (Url Text m, Monad m') => Deploy Css Text (HtmlT m ()) (LocalMarkupT m') instance (Monad m, Monad m') => Deploy Css Text (HtmlT m ()) (HostedMarkupT m') instance (Monad m, Monad m') => Deploy Css Text (HtmlT m ()) (InlineMarkupT m') instance (Monad m, Monad m') => Deploy Css Text (HtmlT m ()) (InlineMarkupT m') instance Url Text m => Deploy Css (UrlString Text) (HtmlT m ()) LocalMarkupM instance Url Text m => Deploy Css Text (HtmlT m ()) LocalMarkupM instance Monad m => Deploy Css Text (HtmlT m ()) HostedMarkupM instance Monad m => Deploy Css Text (HtmlT m ()) InlineMarkupM instance Monad m => Deploy Css Text (HtmlT m ()) InlineMarkupM instance (Url Text m, Monad m') => Deploy JavaScript (UrlString Text) (HtmlT m ()) (LocalMarkupT m') instance (Url Text m, Monad m') => Deploy JavaScript Text (HtmlT m ()) (LocalMarkupT m') instance (Monad m, Monad m') => Deploy JavaScript Text (HtmlT m ()) (HostedMarkupT m') instance (Monad m, Monad m') => Deploy JavaScript Text (HtmlT m ()) (InlineMarkupT m') instance (Monad m, Monad m') => Deploy JavaScript Text (HtmlT m ()) (InlineMarkupT m') instance Url Text m => Deploy JavaScript Text (HtmlT m ()) LocalMarkupM instance Url Text m => Deploy JavaScript (UrlString Text) (HtmlT m ()) LocalMarkupM instance Monad m => Deploy JavaScript Text (HtmlT m ()) HostedMarkupM instance Monad m => Deploy JavaScript Text (HtmlT m ()) InlineMarkupM instance Monad m => Deploy JavaScript Text (HtmlT m ()) InlineMarkupM instance (Url Text m, Monad m') => Deploy Image (UrlString Text) (HtmlT m ()) (LocalMarkupT m') instance (Monad m, Monad m', Url Text m) => Deploy Image Text (HtmlT m ()) (LocalMarkupT m') instance (Monad m, Monad m') => Deploy Image Text (HtmlT m ()) (HostedMarkupT m') instance Url Text m => Deploy Image (UrlString Text) (HtmlT m ()) LocalMarkupM instance (Monad m, Url Text m) => Deploy Image Text (HtmlT m ()) LocalMarkupM instance Monad m => Deploy Image Text (HtmlT m ()) HostedMarkupM module Data.Markup