Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An xhtml-based templating engine, allowing Haskell functions to be bound to XML tags.
Haskell CSS Smarty Shell
Failed to load latest commit information.
docs Lots of cleanup. Fixed test cases. Refreshed the tutorial.
examples Removed "snap:" from examples.
extra Remove Droid serif from the haddocks
src Remove dependency on either
test Fix issue #57
.ghci Cherry-pick map-syntax to pre-1.0
.gitignore Cherry-pick map-syntax to pre-1.0
.stylish-haskell.yaml Add stylish-haskell config file
.travis.yml Add GHC 7.10 to .travis.yml
CONTRIBUTORS relax blaze-html dependency, as heist builds fine with blaze-html 0.5…
LICENSE Commit the new re-structured heist library Update READMEs Fix typo in readme
Setup.hs Add extra files for sdist
TODO Updated TODO Fix
heist.cabal Remove dependency on either


Heist, part of the Snap Framework, is a Haskell library for xml/html templating. It uses simple XML tags to bind values to your templates in a straightforward way. For example, if you were to put the following in a template:

<bind tag="message">some text</bind>

the resulting xhtml would be

<p>some text</p>

Likewise, if you need to add text to an attribute,

<bind tag="special">special-id</bind>
<div id="${special}">very special</div>

gives you

<div id="special-id">very special</div>

Values can also be pulled from "Splices" (see the documentation for more information.)

Building heist

The heist library is built using Cabal and Hackage. Just run

cabal install

from the heist toplevel directory.

Building the Haddock Documentation

The haddock documentation can be built using the supplied shell script:


The docs get put in dist/doc/html/.

Building the testsuite

To build the test suite, cd into the test/ directory and run

$ cabal configure
$ cabal build

From here you can invoke the testsuite by running:

$ ./ 

The testsuite generates an hpc test coverage report in test/dist/hpc.

Something went wrong with that request. Please try again.