Common Lisp Package: SPINNERET

README:

FUNCTION

Private

NEWLINE-AND-INDENT

Fresh line and indent according to *DEPTH*.

PARSE-AS-MARKDOWN (STRING)

Expand STRING as markdown only if it contains markdown.

TAG-PARTS (FORM)

Divide a form into an element, attributes, and a body. Provided the form qualifies as a tag, the element is the car, the attributes are all the following key-value pairs, and the body is what remains.

WEAK-MEMO (F)

Memoize using a value-weak hash table.

Undocumented

BEGINS (SEQ PAT &OPTIONAL (START 0))

BOOLEAN? (ATTR)

BUFFER-SPACE

CALL/TAG (NAME ATTRS BODY *PRE* EMPTY?)

CDATA (TEXT SAFE?)

CLASS-UNION (&REST CLASSES)

COMMENT (TEXT SAFE?)

DATA-ATTR-PROP (ATTR)

DATA-ATTR? (ATTR)

DOCTYPE (&REST ARGS)

DOTTED-LIST? (LIST)

EMBEDDED? (ELEMENT)

EMIT-END-TAG (TAG)

EMIT-SPACE

ESCAPE-ARGLIST (ARGLIST)

ESCAPE-ATTRIBUTE-VALUE (STRING)

ESCAPE-ATTRS (TAG ATTRS)

ESCAPE-CDATA (&REST ARGS)

ESCAPE-COMMENT (&REST ARGS)

ESCAPE-IF-STRING (ARG)

ESCAPE-STRING (STRING)

ESCAPE-TO-STREAM (STRING TABLE STREAM)

ESCAPE-TO-STRING (OBJECT)

ESCAPE-VALUE (VALUE)

ESCAPE-WITH-TABLE (STRING TABLE)

EVENT? (ATTR)

FCALL (X)

FILL-TEXT (STRING &OPTIONAL SAFE?)

FLUSH-SPACE

FORCE (THUNK)

FORMAT-ATTRIBUTES (ATTRS)

FORMAT-TEXT (CONTROL-STRING &REST ARGS)

GLOBAL-ATTRIBUTE? (NAME)

IN? (&REST ARGS)

INDENT

INLINE? (ELEMENT)

INTERSPERSE (NEW-ELT LIST)

INVALID? (ELEMENT)

LITERAL? (ELEMENT)

MAKE-ATTR-SETTER (ATTR VAL)

MAKE-CDATA (TEXT)

MAKE-CLOSE-PRINTER (&REST ARGS)

MAKE-COMMENT (TEXT)

MAKE-DOCTYPE (&REST ARGS)

MAKE-HEAD (&REST ARGS)

MAKE-HTML (&REST ARGS)

MAKE-START-PRINTER (&REST ARGS)

MEMO (F)

MEMOIZE (F)

MEMOIZE-WEAKLY (F)

MKLIST (X)

MUST-QUOTE? (CHAR)

NEEDS-QUOTES? (STRING)

PARAGRAPH? (ELEMENT)

PARSE-HTML (FORM ENV)

POP-WORD (STREAM-IN STREAM-OUT)

PREFORMATTED? (ELEMENT)

PSEUDOTAG-EXPAND (ELEMENT ARGS)

PSEUDOTAG-EXPANDER (&REST ARGS)

REMOVE-SUBSTRING (STRING SUBSTRING)

TRIM-ENDS (PREFIX STRING SUFFIX)

UNMATCHED? (ELEMENT)

VALID-ATTRIBUTE? (&REST ARGS)

VALID? (ELEMENT)

VOID? (ELEMENT)

WHITESPACE (CHAR)

WRITE-RAW (&REST ARGS)

MACRO

Public

WITH-HTML (&BODY BODY &ENVIRONMENT ENV)

Interpret BODY as HTML. Consult README.txt for the syntax.

WITH-HTML-STRING (&BODY BODY)

Like WITH-HTML, but capture the output as a string.

Undocumented

DEFTEMPLATE (NAME ARGS &BODY BODY)

DO-ELEMENTS ((VAR ARG) &BODY BODY)

Private

SWITCH (&WHOLE WHOLE (OBJECT &KEY (TEST 'EQL) (KEY 'IDENTITY)) &BODY CLAUSES)

Evaluates first matching clause, returning its values, or evaluates and returns the values of DEFAULT if no keys match.

Undocumented

CALL-TEMPLATE (NAME &REST ARGS &ENVIRONMENT ENV)

CATCH-OUTPUT (ARG)

DELAY (EXP)

DO-WORDS ((VAR STRING) &BODY BODY)

EVAL-AND-COMPILE (&BODY BODY)

WITH-TAG ((NAME &REST ATTRIBUTES) &BODY BODY)

WITHOUT-TRAILING-SPACE (&BODY BODY)

GENERIC-FUNCTION

Public

HTML (OBJECT)

Return an unescaped, unfilled string representing OBJECT.

VARIABLE

Public

*HTML*

Output stream for HTML generation.

Undocumented

*HTML-CHARSET*

*HTML-LANG*

Private

*DEPTH*

Depth of the tag being output.

*PERMITTED-ATTRIBUTES*

Alist of (tag . attributes). These are the element-specific attributes, beyond the global attributes.

Undocumented

*ATTRIBUTE-VALUE-ESCAPES*

*BOOLEAN-ATTRIBUTES*

*CDATA-END*

*CDATA-START*

*CORE-ATTRIBUTES*

*EMBEDDED-CONTENT*

*END-TAG-OPTIONAL*

*EVENT-HANDLER-ATTRIBUTES*

*GLOBAL-ATTRIBUTES*

*HTML5-ELEMENTS*

*IE-ATTR-PROPS*

*INLINE-ELEMENTS*

*LITERAL-ELEMENTS*

*PARAGRAPH-ELEMENTS*

*PENDING-SPACE*

*PRE*

*PREFORMATTED*

*PROPS*

*PSEUDOTAGS*

*QUOTE*

*STRING-ESCAPES*

*UNSAFE*

*VOID-ELEMENTS*

*WHITESPACE*