In the crowded space of Common Lisp HTML generators, Spinneret occupies the following coordinates:
Modern. Targets HTML5. Does not treat XML and HTML as the same problem. Assumes you will be serving your documents as UTF-8.
Composable. Makes it easy to refactor HTML generation into separate functions and macros.
Pretty. Treats HTML as a document format, not a serialization. Output is idiomatic and readable, following the coding style of the HTML5 specification.
Aggressive. If something can be interpreted as HTML, then it will be, meaning that some Lisp forms can't be mixed with HTML syntax. In the trade-off between 90% convenience and 10% correctness Spinneret is on the side of convenience.
Bilingual. Spinneret (after loading
spinneret/ps
) has the same semantics in Lisp and Parenscript.