[new file dan**20020307000538] { addfile ./doc/html.html hunk ./doc/html.html 1 + + + +Araneida Reference : HTML generation + + +

HTML Generation

+ +

We have functions that turn sexps into HTML. The format of the +sexp is +

+((element-name {:attribute-name attribute-value}*) {contents})
+
+where element-name is a symbol, attribute-name is a keyword, and +contents are more elements, or strings. If there are no attributes, +the parens around element-name can be omitted. For example +
+(html
+ (head (title "Title"))
+ (body (p "Click here to visit ((a :href "http://www.google.com/") "Google"))))
+
+ +

The functions are HTML (returns a string) and HTML-STREAM (outputs +directly to a stream). The latter is much less consy, so to be +preferred + +

We also have a pattern-based rewriting system so that you can +"invent your own tags" (sic), using DEFINE-PATTERNS. See example 6 in +../examples/main.lisp. This is +used in the DEFINE-PAGE macro, which also gives you correct handling of +conditional GETs for free. + + + + + + }