who

Method summary
convert-tag-to-string-list tag attr-list body body-fn
Function summary
apply-to-tree function test tree
conc &rest string-list
convert-attributes attr-list
escape-char char &key (test *escape-char-p*)
escape-string string &key (test *escape-char-p*)
escape-string-iso-8859 string
html-mode
process-tag sexp body-fn
replace-htm tree transformation
(setf html-mode) mode
string-list-to-string string-list
tree-to-commands tree stream &optional prologue
tree-to-commands-aux tree stream
tree-to-template tree
Macro summary
n-spaces n
show-html-expansion (var &optional stream &key prologue ((:indent *indent*) *indent*)) &body body
with-html-output (var &optional stream &key prologue ((:indent *indent*) *indent*)) &body body
with-html-output-to-string (var &optional string-form &key (element-type ''character) prologue indent) &body body
*hyperdoc-base-uri*    [Variable]
convert-tag-to-string-list   tag attr-list body body-fn  [Generic function]

Used by PROCESS-TAG to convert `HTML' into a list of strings. TAG is a keyword symbol naming the outer tag, ATTR-LIST is an alist of its attributes (the car is the attribute's name as a keyword, the cdr is its value), BODY is the tag's body, and BODY-FN is a function which should be applied to BODY. The function must return a list of strings or Lisp forms.

html-mode    [Function]

Returns the current HTML mode. :SGML for (SGML-)HTML and :XML for XHTML.

(setf html-mode)   mode  [Function]

Sets the output mode to XHTML or (SGML-)HTML. MODE can be :SGML for HTML or :XML for XHTML.

escape-char   char &key (test *escape-char-p*)  [Function]

Returns an escaped version of the character CHAR if CHAR satisfies the predicate TEST. Always returns a string.

escape-string   string &key (test *escape-char-p*)  [Function]

Escape all characters in STRING which pass TEST. This function is not guaranteed to return a fresh string. Note that you can pass NIL for STRING which'll just be returned.

escape-string-iso-8859   string  [Function]

Identical to ESCAPE-STRING-8859-1. Kept for backward compatibility.

process-tag   sexp body-fn  [Function]

Returns a string list corresponding to the `HTML' (in CL-WHO syntax) in SEXP. Uses the generic function CONVERT-TO-STRING-LIST internally. Utility function used by TREE-TO-TEMPLATE.

convert-attributes   attr-list  [Function]

Helper function for CONVERT-TAG-TO-STRING-LIST which converts the alist ATTR-LIST of attributes into a list of strings and/or Lisp forms.

apply-to-tree   function test tree  [Function]

Apply FUNCTION recursively to all elements of the tree TREE (not only leaves) which pass TEST.

replace-htm   tree transformation  [Function]

Replace all subtrees of TREE starting with the symbol HTM with the same subtree after TRANSFORMATION has been applied to it. Utility function used by TREE-TO-TEMPLATE and TREE-TO-COMMANDS-AUX.

tree-to-template   tree  [Function]

Transforms an HTML tree into an intermediate format - mainly a flattened list of strings. Utility function used by TREE-TO-COMMANDS-AUX.

string-list-to-string   string-list  [Function]

Concatenates a list of strings to one string.

conc   &rest string-list  [Function]

Concatenates all arguments which should be string into one string.

tree-to-commands-aux   tree stream  [Function]

Transforms the intermediate representation of an HTML tree into Lisp code to print the HTML to STREAM. Utility function used by TREE-TO-COMMANDS.

tree-to-commands   tree stream &optional prologue  [Function]

Transforms an HTML tree into code to print the HTML to STREAM.

n-spaces   n  [Macro]

A string with N spaces - used by indentation.

with-html-output   (var &optional stream &key prologue ((:indent *indent*) *indent*)) &body body  [Macro]

Transform the enclosed BODY consisting of HTML as s-expressions into Lisp code to write the corresponding HTML as strings to VAR - which should either hold a stream or which'll be bound to STREAM if supplied.

with-html-output-to-string   (var &optional string-form &key (element-type ''character) prologue indent) &body body  [Macro]

Transform the enclosed BODY consisting of HTML as s-expressions into Lisp code which creates the corresponding HTML as a string.

show-html-expansion   (var &optional stream &key prologue ((:indent *indent*) *indent*)) &body body  [Macro]

Show the macro expansion of WITH-HTML-OUTPUT.