The hamlet package
Hamlet gives you a type-safe tool for generating HTML code. It works via Quasi-Quoting, and generating extremely efficient output code. The syntax is white-space sensitive, and it helps you avoid cross-site scripting issues and 404 errors. Please see the documentation at http://docs.yesodweb.com/hamlet/ for more details.
As a quick overview, here is a sample Hamlet template:
!!!
%html
%head
%title Hamlet Demo
%body
%h1 Information on $name.person$
%p $*name.person$ is $age.person$ years old.
%h2
$if isMarried.person
Married
$else
Not married
%ul
$forall children.person child
%li $child$
%p
%a!href=@page.person@ See the page.
^footer^
Properties
| Versions | 0.0.0, 0.0.1, 0.0.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.3.1, 0.3.0, 0.3.1, 0.3.1.1, 0.4.0, 0.4.1, 0.4.2, 0.5.0, 0.5.0.1, 0.5.0.2, 0.5.1, 0.5.1.1, 0.5.1.2, 0.6.0, 0.6.0.1, 0.6.0.2, 0.6.0.3, 0.6.1, 0.6.1.1, 0.6.1.2, 0.7.0, 0.7.0.1, 0.7.0.2, 0.7.1, 0.7.2, 0.7.2.1, 0.7.3, 0.8.0, 0.8.1, 0.8.2, 0.8.2.1, 0.9.0, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.7.1, 0.10.8, 0.10.9.1, 1.0.0, 1.0.1, 1.0.1.1, 1.0.1.2, 1.0.1.3, 1.0.1.4, 1.1.0, 1.1.0.1, 1.1.0.2, 1.1.0.3, 1.1.1, 1.1.1.1, 1.1.2, 1.1.3, 1.1.3.1, 1.1.4, 1.1.5, 1.1.6, 1.1.6.1, 1.1.6.2, 1.1.6.3, 1.1.6.4, 1.1.7, 1.1.7.1 |
|---|---|
| Dependencies | base (4.*), blaze-html (≥0.1.1 & <0.2), bytestring (0.9.*), failure (≥0.1.0 & <0.2), parsec (≥2 & <4), template-haskell, utf8-string (≥0.3.4 & <0.4) |
| License | BSD3 |
| Author | Michael Snoyman <michael@snoyman.com> |
| Maintainer | Michael Snoyman <michael@snoyman.com> |
| Stability | unstable |
| Category | Web |
| Home page | http://docs.yesodweb.com/hamlet/ |
| Source repository | git clone git://github.com/snoyberg/hamlet.git |
| Executables | runtests |
| Upload date | Fri Aug 6 11:08:37 UTC 2010 |
| Uploaded by | MichaelSnoyman |
| Built on | ghc-6.12 |
| Distributions | Fedora: 1.1.1, NixOS: 1.1.7.1, Debian: 1.1.1.1, FreeBSD: 1.1.6.3 |
Modules
Downloads
- hamlet-0.4.2.tar.gz (Cabal source package)
- package description (included in the package)