Common Lisp Package: ATDOC

@a[http://www.lichteblau.com/atdoc/]{Atdoc} generates documentation for Common Lisp packages. It extracts documention strings written using a custom markup language and generates HTML pages or TeX documents. @begin[Generating formatted documentation]{section} Separate functions are offered for each output format: HTML pages, LaTeX/PDF output, and .info files. There is also an older function called generate-documentation, which in now an alias for generate-html-documentation. @aboutfun{generate-html-documentation} @aboutfun{generate-latex-documentation} @aboutfun{generate-info-documentation} @aboutfun{generate-documentation} @end{section} @begin[Generating unformatted XML]{section} Power users might want to extract docstrings into XML and then send that XML through their own XSLT stylesheets. The following function can be used for that purpose. @aboutfun{extract-documentation} @end{section}

README:

FUNCTION

Public

EXTRACT-DOCUMENTATION (PACKAGES DIRECTORY &REST KEYS &KEY INCLUDE-SLOT-DEFINITIONS-P &ALLOW-OTHER-KEYS)

@arg[packages]{List of package designators. Documentation will be generated for these packages.} @arg[directory]{A pathname specifying a directory. The output file will be written to this directory, which must already exist.} @arg[include-slot-definitions-p]{A boolean.} @arg[keys]{Extra parameters for stylesheets.} Extracts docstrings from @code{packages} and writes them in XML syntax to .atdoc.xml in the specified directory. With @code{include-slot-definitions-p}, class documentation will include a list of direct slots. Extra parameters will be inserted as attributes on the root element.

GENERATE-DOCUMENTATION (&REST ARGS)

A deprecated alias for @fun{generate-html-documentation}.

GENERATE-HTML-DOCUMENTATION (PACKAGES DIRECTORY &KEY (INDEX-TITLE No Title) (HEADING No Heading) (CSS default.css) (LOGO NIL) (SINGLE-PAGE-P NIL) (INCLUDE-SLOT-DEFINITIONS-P NIL) (INCLUDE-INTERNAL-SYMBOLS-P T))

@arg[packages]{List of package designators. Documentation will be generated for these packages.} @arg[directory]{A pathname specifying a directory. All output files and temporary data will be written to this directory, which must already exist.} @arg[index-title]{This string will be used as the title of the main page, index.html. (Other pages will be named according to the object they are documenting.)} @arg[heading]{This string will be used as a visible title on top of every page.} @arg[logo]{Deprecated.} @arg[css]{A pathname or string pointing to a cascading stylesheet (CSS) file. This file will be copied to the target directory under the name index.css. If this argument is a string and does not start with a dot, it will be taken as namestring relative to the atdoc/css directory.} @arg[single-page-p]{A boolean.} @arg[include-slot-definitions-p]{A boolean.} @arg[include-internal-symbols-p]{A boolean.} @return{The pathname of the generated file index.xml.} Generates HTML documentation for @code{packages}. With @code{single-page-p}, all documentation is assembled as a single page called index.html. Otherwise, index.html will include only a symbol index and a summary of each package, with links to other pages. With include-slot-definitions-p, pages for symbols that are not exported will be included, so that documentation for exported symbols can safely refer to internal pages (but internal symbols will not be included in the symbol index automatically). This option has no effect if single-page-p is enabled. With @code{include-slot-definition}, class documentation will include a list of direct slots.

GENERATE-INFO-DOCUMENTATION (PACKAGES DIRECTORY &KEY NAME (TITLE No Title) (INCLUDE-SLOT-DEFINITIONS-P NIL))

@arg[packages]{List of package designators. Documentation will be generated for these packages.} @arg[directory]{A pathname specifying a directory. All output files and temporary data will be written to this directory, which must already exist.} @arg[title]{This string will be used as the document's title.} @arg[include-slot-definitions-p]{A boolean.} @return{The pathname of the generated file documentation.pdf, or nil.} Generates TeX documentation for @code{packages}. With @code{run-tex-p} (the default), pdflatex is run automatically to generate a PDF file. With @code{include-slot-definition}, class documentation will include a list of direct slots.

GENERATE-LATEX-DOCUMENTATION (PACKAGES DIRECTORY &KEY (TITLE No Title) (RUN-TEX-P pdflatex) (INCLUDE-SLOT-DEFINITIONS-P NIL))

@arg[packages]{List of package designators. Documentation will be generated for these packages.} @arg[directory]{A pathname specifying a directory. All output files and temporary data will be written to this directory, which must already exist.} @arg[title]{This string will be used as the document's title.} @arg[include-slot-definitions-p]{A boolean.} @arg[run-tex-p]{A boolean.} @return{The pathname of the generated file documentation.pdf, or nil.} Generates TeX documentation for @code{packages}. With @code{run-tex-p} (the default), pdflatex is run automatically to generate a PDF file. With @code{include-slot-definition}, class documentation will include a list of direct slots.

Private

Undocumented

APPLY-STYLESHEET-CHAIN (INPUT STYLESHEETS OUTPUT)

CHARACTERS (HANDLER STR)

COPY-FILE (A B &KEY (IF-EXISTS ERROR))

EMIT-CLASS (CLASS OTHER-PACKAGES)

EMIT-DOCSTRING (PACKAGE-DESIGNATOR STR)

EMIT-FUNCTION (NAME)

EMIT-MACRO (NAME)

EMIT-PACKAGE (PACKAGE OTHER-PACKAGES)

EMIT-SLOT (SLOT-DEF)

EMIT-TYPE (NAME)

EMIT-VARIABLE (NAME)

FIND-STYLESHEET (NAMESTRING)

FLUSH-CACHE

FUNCTION-ARGLIST (FUN)

GOOD-SYMBOL-P (SYMBOL OTHER-PACKAGES)

GROVEL-STYLESHEET-DEPENDENCIES (NAMESTRING)

MAGIC-NAMESTRING (FILE)

MUNGE-NAME (NAME KIND)

NAME (NAME KIND)

PARSE-DOCSTRING (STR HANDLER)

PARSE-DOCSTRING-1 (STREAM HANDLER CLOSE)

PARSE-DOCSTRING-ELEMENT (STREAM HANDLER NAME)

RANDOM-NAME (NAME OTHER-PACKAGES KIND)

READ-DELIMITED-STRING (STREAM BAG &OPTIONAL EAT-LIMIT)

RUN-SHELL-COMMAND (DIRECTORY OUTPUT COMMAND &REST ARGS)

SYMBOL-STATUS (SYMBOL)

UNEXPORTED-NAME (NAME)

XFD-BASE-URI (THUNKS-449)

XFD-DATE (THUNKS-66)

XFD-ESCAPE-LATEX-STRING (THUNKS-426)

XFD-INDENT (THUNKS-110)

XFD-STARS (THUNKS-32)

SLOT-ACCESSOR

Private

Undocumented

CURRENT-ATTRIBUTES (OBJECT)

SETFCURRENT-ATTRIBUTES (NEW-VALUE OBJECT)

CURRENT-KIND (OBJECT)

SETFCURRENT-KIND (NEW-VALUE OBJECT)

CURRENT-NAME (OBJECT)

SETFCURRENT-NAME (NEW-VALUE OBJECT)

CURRENT-TEXT (OBJECT)

SETFCURRENT-TEXT (NEW-VALUE OBJECT)

DOCSTRING-PACKAGE (OBJECT)

SETFDOCSTRING-PACKAGE (NEW-VALUE OBJECT)

VARIABLE

Private

Undocumented

*INCLUDE-SLOT-DEFINITIONS-P*

*STYLESHEETS*

CLASS

Private

Undocumented

DOCSTRING-PARSER