You are looking at historical revision 2734 of this page. It may differ significantly from its current revision.
The hart egg provides an SXML-inspired syntax for HTML generation.
(Sorry, documentation is a bit sparse at the moment.)
hart is licensed under the BSD License.
(use hart) (define people '((Fred firstname.lastname@example.org 25) (Mary email@example.com 33))) (hart (html (head (title "People")) (body (h1 (fmt: "A list of ~a people" (length people))) (ol (for: ((name email age) people) (li (a (@ (href (conc "mailto:" email))) (text: name)) (fmt: ", who is ~a years old." age)))))))
<html><head><title>People</title></head><body><h1>A list of 2 people</h1><ol><li><a href="mailto:firstname.lastname@example.org">Fred</a>, who is 25 years old.</li><li><a href="mailto:email@example.com">Mary</a>, who is 33 years old.</li></ol></body></html>