The markup package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.



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 $
    ) ""

 "<img src=\"\">"


Versions0.0.1, 0.0.2, 0.0.3, 0.0.3, 0.0.4, 0.0.5, 0.0.6,, 0.0.7, 0.0.8, 1.0.0, 1.1.0, 2.0.0, 2.1.0, 2.1.1, 2.2.0, 3.0.0, 3.1.0
Change logNone available
Dependenciesbase (==4.*), blaze-html, blaze-markup, lucid (>=2.5), mtl, text, transformers, urlpath (>=0.2) [details]
AuthorAthan Clark <>
MaintainerAthan Clark <>
Source repositoryhead: git clone
UploadedTue Dec 23 15:55:16 UTC 2014 by athanclark




Maintainers' corner

For package maintainers and hackage trustees