Common Lisp Package: DOCUMENTATION-TEMPLATE

README:

FUNCTION

Public

CREATE-TEMPLATE (PACKAGE &KEY (TARGET (OR *TARGET* (ERROR *TARGET* not specified.))) (SUBTITLE a cool library) ((MAYBE-SKIP-METHODS-P *MAYBE-SKIP-METHODS-P*) *MAYBE-SKIP-METHODS-P*) (IF-EXISTS SUPERSEDE) (IF-DOES-NOT-EXIST CREATE))

Writes an HTML page with preliminary documentation entries and an index for all exported symbols of the package PACKAGE to the file TARGET. If MAYBE-SKIP-METHODS-P is true, documentation entries for inidividual methods are skipped if the corresponding generic function has a documentation string.

Private

CLASS-DOC-ENTRY (SYMBOL)

Returns a list with one entry for a class if SYMBOL names a class.

COLLECT-ALL-DOC-ENTRIES (PACKAGE)

Returns a sorted list of entries for all exported symbols of PACKAGE.

CONSTANT-DOC-ENTRY (SYMBOL)

Returns a list with one entry for a constant if SYMBOL names a constant.

DECLARED-SPECIAL-P (SYMBOL)

Returns true if SYMBOL is declared special.

DOC-ENTRIES (SYMBOL)

Returns a list of all possible entries for the symbol SYMBOL and for the corresponding SETF function name.

DOC-ENTRY< (ENTRY1 ENTRY2)

Comparions function used for sorting - sort by name and, if the names are the same, by DOC-TYPE-ORDINAL.

DOC-TYPE-ORDINAL (TYPE)

Assigns ordinals to the different kinds of entries for sorting purposes.

FUNCTION-DOC-ENTRY (NAME)

Returns a list with one entry for a function if NAME names a plain old function.

FUNCTION-LAMBDA-LIST (FUNCTION)

Returns the lambda list of the function designator FUNCTION.

GENERIC-FUNCTION-DOC-ENTRY (NAME)

Returns a list with one entry for a generic function and one entry for each of its methods if NAME names a generic function.

MACRO-DOC-ENTRY (SYMBOL)

Returns a list with one entry for a macro if SYMBOL names a macro.

NAME< (NAME1 NAME2)

Comparison function used for sorting - symbols are "smaller" then SETF names, otherwise sort alphabetically.

NAME= (NAME1 NAME2)

Two function names are equal if they are EQUAL - this covers symbols as well as general function names.

SIMPLIFY-SPECIALIZER (SPECIALIZER)

Converts specializers which are classes to their names, leaves the rest alone.

SPECIAL-VAR-DOC-ENTRY (SYMBOL)

Returns a list with one entry for a special variable if SYMBOL names a special variable.

SYMBOL-CONSTANT-P (SYMBOL)

Returns true if SYMBOL is a constant.

WRITE-CLASS-ENTRY (SYMBOL DOC-STRING)

Writes a full documentation entry for the class SYMBOL.

WRITE-CONSTANT-ENTRY (SYMBOL DOC-STRING)

Writes a full documentation entry for the constant SYMBOL.

WRITE-ENTRY (ENTRY OTHER-ENTRIES)

Write one documentation entry corresponding to ENTRY. OTHER-ENTRIES is the list of the remaining entries waiting to be written. OTHER-ENTRIES, probably updated, will be returned.

WRITE-ENTRY-FOOTER (NAME DOC-STRING)

Writes the footer for a documentation entry for the name NAME including the documentation string DOC-STRING.

WRITE-ENTRY-HEADER (NAME TYPE &KEY (WRITE-NAME-P T))

Writes the header for a documentation entry of name NAME and type TYPE. The HTML anchor will only get a 'name' attribute if WRITE-NAME-P is true and NAME is not a SETF name.

WRITE-FUNCTION-ENTRY (NAME LAMBDA-LIST DOC-STRING OTHER-ENTRIES &KEY GENERICP SIGNATURE-ONLY-P SPECIALIZERS QUALIFIERS)

Writes a full documentation entry for the function, generic function, or method with name NAME. NAME is a generic function if GENERICP is true, SPECIALIZERS is a list of specializers, i.e. in this case NAME is a method. Likewise, QUALIFIERS is a list of qualifiers. SIGNATURE-ONLY-P means that we don't want a full header.

WRITE-LAMBDA-LIST (LAMBDA-LIST &KEY (RESULTP T) SPECIALIZERS)

Writes the lambda list LAMBDA-LIST, optionally with the specializers SPECIALIZERS. Adds something like `=> result' at the end if RESULTP is true.

WRITE-LAMBDA-LIST* (LAMBDA-LIST &OPTIONAL SPECIALIZERS)

The function which does all the work for WRITE-LAMBDA-LIST and calls itself recursive if needed.

WRITE-MACRO-ENTRY (SYMBOL LAMBDA-LIST DOC-STRING)

Writes a full documentation entry for the macro SYMBOL.

WRITE-PAGE-HEADER (PACKAGE-NAME SUBTITLE SYMBOLS)

Writes the header of the HTML page. Assumes that the library has the same name as the package. Adds a list of all exported symbols with links.

WRITE-SPECIAL-VAR-ENTRY (SYMBOL DOC-STRING)

Writes a full documentation entry for the special variable SYMBOL.

Undocumented

HYPERDOC-LOOKUP (SYMBOL TYPE)

GENERIC-FUNCTION

Private

%SBCL-SIMPLE-SPECIALIZER (SPECIALIZER)

Returns a simple representation of SPECIALIZER.

VARIABLE

Public

*MAYBE-SKIP-METHODS-P*

This is the default value for the :MAYBE-SKIP-METHODS-P keyword argument of CREATE-TEMPLATE and its initial value is NIL. It is also used internally.

*TARGET*

Where to output the HTML page. If this value is not NIL, it will be the default target for CREATE-TEMPLATE. CREATE-TEMPLATE will also set this value.

Private

*SYMBOLS*

The list of symbols for which we will create an index with links.

Undocumented

*HYPERDOC-BASE-URI*