packages feed

markup-1.0.0: markup.cabal

Name:                   markup
Version:                1.0.0
Author:                 Athan Clark <athan.clark@gmail.com>
Maintainer:             Athan Clark <athan.clark@gmail.com>
License:                MIT
License-File:           LICENSE
Category:               Data, Web
Synopsis:               Abstraction for markup languages
Description:
  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 <hackage.haskell.org/package/urlpath 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\">"

Cabal-Version:          >= 1.10
Build-Type:             Simple

Library
  Default-Language:     Haskell2010
  HS-Source-Dirs:       src
  GHC-Options:          -Wall
  Exposed-Modules:      Data.Markup
                        Data.Markup.Types
                        Data.Markup.Class
                        Data.Markup.Library
  Build-Depends:        base >= 4 && < 5
                      , transformers
                      , mtl
                      , lucid >= 2.5
                      , blaze-html
                      , blaze-markup
                      , text
                      , urlpath >= 1.0
                      , comonad

Test-Suite spec
  Type:                 exitcode-stdio-1.0
  Default-Language:     Haskell2010
  Hs-Source-Dirs:       src
                      , test
  Ghc-Options:          -Wall
  Main-Is:              Spec.hs
  Build-Depends:        base
                      , hspec

Source-Repository head
  Type:                 git
  Location:             https://github.com/athanclark/markup.git