html

Constant summary
+default-charset+ "ISO-8859-1"
+html-doctype+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
Class summary
html inherits from driver
Method summary
charset html
css-pathname html
doc-formater html
filter html
find-inheritence-word symbol-descriptor
href-title symbol-descriptor
html-printable-type symbol-descriptor
sort-predicate html
toc-title html
Function summary
alphabetical-order desc1 desc2
copy-css html-driver &key dest-dir
default-filter desc
default-sort-predicate desc1 desc2
desc-sort descs predicate &key key
filter-defmethod-with-defgeneric desc
find-descs desc-type descs
format-doc symdesc html-driver strings
format-inheritence structured-object-descriptor
get-defpackage-descriptor meta-descriptors package-table
get-descriptors-by-package html-driver mdescriptors package-table
get-initargs initargs &optional (default-initargs '(:copy-css-into-output-dir :filter :sort-predicate :charset :table-of-contents-title :doc-formater :css-pathname))
htmlify-doc desc &key (doc-string (doc desc)) (purge-p t) html-driver
make-abc-index-entry filename &key char-code non-alphabetic
make-class-summary descs filter
make-constant-summary descs filter
make-default-css-namestring
make-footer
make-function-summary descs filter
make-html-doc hdriver filenames &key (dest-dir ".") path-prefix
make-index-entry meta-descriptors &key char-code non-alphabetic filter
make-indexes dest-dir html-driver
make-navbar &key index next prev name
make-summary summary-title descs filter &key key
make-toc html-driver dest-dir package-index-files
next list index dest-dir &optional prefix
prev list index dest-dir &optional prefix
resolve-link symdesc strings
symbol-descriptor-weight sym-desc-instance
toc-path-from from dest-dir
write-index filename dest-dir title html-driver meta-descriptors
Macro summary
html-write control-string &rest args
with-gensym symbols &body body
with-html-description (&key (divclass "defun") name arg-list type anchor) &body body
with-html-output (output-stream) &body body
with-html-page (os &key csshref content-type head-title nav-name index prev next) &body body
with-index-header (index hdriver dest-dir title &key (head-title title)) &body body
with-tag (tagname (&rest attributes) &optional (stream '*html-output-stream*)) &body body
html   inherits from driver  [Class]

CLDOC XHTML 1.0 Strict driver.

Use the following options with extract-documentation to customize the produced output:

  • :toc-title (or null string): a string that will be used as a title in the table of contents. If not given then the toc title will be: Table of Contents.

  • :doc-formater (function): a designator for a function of two arguments. Its first arguments will be an html-driver instance and its second argument will be a list of string that represents each lines of the original documentation string. It is expected that this function will output the strings, using the html machinery.

    The default doc-formater has some simple DWIM (Do What I Mean) capabilities. It recognizes both indent and empty-line paragraph breaks, bulleted lists, code sample, hyper link and sections (like in the Hyperspec). The default format-doc function delegates the DWIM capabilities to the doctree class.

  • :filter (or null function): a designator for a function of one argument. Its argument will be a symbol-descriptor object. The symbol-descriptor will be outputted if and only if this function returns NIL.

  • :sort-predicate (or null function): a designator for a function of two arguments that returns a generalized boolean.

    Predicate should return true if and only if the first argument is strictly less than the second (in some appropriate sense). If the first argument is greater than or equal to the second (in the appropriate sense), then the predicate should return false.

  • :css-pathname (string): a string pathname designator for the css file to use in the generated documentation. The default one is the cludg.css file delivered with this driver.

  • :charset (string): a string designator for the charset of the generated documentation. The default one is: +default-charset+

  • :copy-css-into-output-dir (boolean): if you want the css file to be copied in the destination directory. This will allow your created documentation to be completely independent of your hard drive hierarchy. Otherwise relative reference to the given pathname will be generated. Default is set to T. And if :css-pathname is not specified the file delivered with CLDOC will simply be copied into the output directory (see :css-pathname).

All the options supported by the doctree class are supported when passed to the extract-documentation method.

To localise the automatic documentation , if your documentation strings are not in english, the default generation language, you have to modify the following variables:

  • *class-inheritence*

  • *condition-inheritence*

  • *struct-inheritence*

  • *slot-reader-control-string*

  • *slot-writer-control-string*

  • *slot-accessor-control-string*

  • *copier-control-string*

  • *predicate-control-string*

  • *printer-control-string*

  • *constructor-control-string*

:string-parser-initargs    [Initarg]
:doc-formater    [Initarg]
:filter    [Initarg]
:sort-predicate    [Initarg]
:css-pathname    [Initarg]
:charset    [Initarg]
:copy-css-into-output-dir    [Initarg]
:table-of-contents-title    [Initarg]
toc-title   html  [Generic function]

Returns the toc-title of the specified html

charset   html  [Generic function]

Returns the charset of the specified html

css-pathname   html  [Generic function]

Returns the css-pathname of the specified html

sort-predicate   html  [Generic function]

Returns the sort-predicate of the specified html

filter   html  [Generic function]

Returns the filter of the specified html

doc-formater   html  [Generic function]

Returns the doc-formater of the specified html

card8   '(unsigned-byte 8)  [Type]
+html-doctype+   "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"  [Constant]
+default-charset+   "ISO-8859-1"  [Constant]

Default charset is: ISO-8859-1

*html-output-stream*    [Variable]

An output stream to write HTML forms.

*class-inheritence*    [Variable]

Defclass inheritence indication control string for automatic documentation.

This control string has no parameter.

*condition-inheritence*    [Variable]

Define-condition inheritence indication control string for automatic documentation. This control string has no parameter.

*struct-inheritence*    [Variable]

Defstruct include indication control string for automatic documentation.

This control string has no parameter.

href-title   symbol-descriptor  [Generic function]

Returns a string for the title attribute of an href.

html-printable-type   symbol-descriptor  [Generic function]

Returns an HTML string that will be used to instead of the desc-type. If such a overload is not found the value returned by desc-type will be used.

find-inheritence-word   symbol-descriptor  [Generic function]

Returns an HTML string that will be used to instead of the desc-type. If such a overload is not found the value returned by desc-type will be used.

get-initargs   initargs &optional (default-initargs '(:copy-css-into-output-dir :filter :sort-predicate :charset :table-of-contents-title :doc-formater :css-pathname))  [Function]
copy-css   html-driver &key dest-dir  [Function]
default-filter   desc  [Function]

Returns true if the given symbol-descriptor is not an external symbol of its package or if is a defmethod descriptor for which a defgeneric descriptor exists.

filter-defmethod-with-defgeneric   desc  [Function]

Returns true if the given symbol-descriptor is a defmethod descriptor and thus if the specified defmethod has a defgeneric.

make-default-css-namestring    [Function]
symbol-descriptor-weight   sym-desc-instance  [Function]

Returns the weight, a valuation, used to sort the final documentation.

desc-sort   descs predicate &key key  [Function]

Sort such as stable-sort but non destructively the given list of descs.

default-sort-predicate   desc1 desc2  [Function]
next   list index dest-dir &optional prefix  [Function]

Returns the relative pathanme to the next (aka 1+ index) element of list.

prev   list index dest-dir &optional prefix  [Function]

Returns the relative pathanme to previous (aka 1- index) element of list.

alphabetical-order   desc1 desc2  [Function]

Returns true if the name of the first descriptor is lexicographicaly inferior to the name of the second descriptor.

htmlify-doc   desc &key (doc-string (doc desc)) (purge-p t) html-driver  [Function]

Presents the given doc-string according to our html template.

  • doc-string (string): the documentation string to write.

  • purge-p (boolean): If T the documentation string will be purged of potentially dangerous character for HTML.

  • html-driver (driver): the html-driver to use.

make-footer    [Function]

Appends CLDOC link and generation date.

make-navbar   &key index next prev name  [Function]

Adds the HTML code for the navigation bar.

toc-path-from   from dest-dir  [Function]
make-abc-index-entry   filename &key char-code non-alphabetic  [Function]
make-index-entry   meta-descriptors &key char-code non-alphabetic filter  [Function]
write-index   filename dest-dir title html-driver meta-descriptors  [Function]
make-toc   html-driver dest-dir package-index-files  [Function]

Writes the table of contents. Returns the file truename of the table of contents.

get-defpackage-descriptor   meta-descriptors package-table  [Function]

Finds all the defpackage-descriptor and insert them in the package-table.

get-descriptors-by-package   html-driver mdescriptors package-table  [Function]

Finds all descriptors of each package and add them to their package entry of the package-table. Descriptors will be filtered according to the filter of the html-driver instance.

make-indexes   dest-dir html-driver  [Function]

Creates package index files, global index and table of contents.

find-descs   desc-type descs  [Function]

Returns the list of symbol descriptors that are of type desc-type.

make-summary   summary-title descs filter &key key  [Function]

Creates a summary table with the given descriptors. The created table will have two columns. The first one will present hyper link with the descriptor name and the second one the summary as returned by the :key function. Descriptor list will be filtered according to the filter function when provided. The :key argument is a designator for a function of one argument of type symbol-descriptor and returns a string.

make-constant-summary   descs filter  [Function]

Creates a summary table for defconstant descriptors if any.

make-class-summary   descs filter  [Function]

Creates summary tables for defclass, define-condition and defstruct descriptors if any.

make-function-summary   descs filter  [Function]

Creates summary tables for defun, defsetf, defmethod, defgeneric and defmacro descriptors if any.

resolve-link   symdesc strings  [Function]
format-doc   symdesc html-driver strings  [Function]

Default documentation string formater. The Do What I Mean capabilities are delegated to the create-doctree-from-string method of the doctree protocol in coordination with with-tree-loop iterator to produced the final output.

make-html-doc   hdriver filenames &key (dest-dir ".") path-prefix  [Function]

Reads all files specified in filenames and extract their documentation using HTML as output. The extracted documentation will be written in a newly created file with the same name as the processed one. If dest-dir is specified then it will be used to construct the output pathname, otherwise the output pathname will be constructed using the one of the currently processed input file pruned from path-prefix.

format-inheritence   structured-object-descriptor  [Function]

Resolves the inheritence/inclusion of structured-object-descriptor in order to return an HTML string that describes the inheritence with hyper links.

with-gensym   symbols &body body  [Macro]
with-html-output   (output-stream) &body body  [Macro]

Binds *html-output-stream* to the output-stream in order to use the html-write, with-tag, htmlify-doc and with-html-description macros without their output-stream optional argument.

html-write   control-string &rest args  [Macro]

Produces formatted output by outputting the characters of control-string and observing that a tilde introduces a directive. Most directives use one or more elements of args to create their output.

with-tag   (tagname (&rest attributes) &optional (stream '*html-output-stream*)) &body body  [Macro]

Writes the desired tag and its attributes to the given stream or the one binded on *html-output-stream*.

with-html-page   (os &key csshref content-type head-title nav-name index prev next) &body body  [Macro]

Binds *html-output-stream* to os as if binded by with-html-output and executes the body in inside the BODY tag. A simple implementation can be:

    (with-tag (:html ()) 
       (with-tag (:head ()) (do-header)) 
       (with-tag (:body ()) ,@body)) 
with-html-description   (&key (divclass "defun") name arg-list type anchor) &body body  [Macro]

Presents lisp forms according to our html documentation template.

with-index-header   (index hdriver dest-dir title &key (head-title title)) &body body  [Macro]