codex

API Reference

codex

A documentation system for Common Lisp.

CODEX.ERROR

Codex errors.
  • Condition CODEX-ERROR
    The base class of all Codex errors.
  • Condition MANIFEST-ERROR  (CODEX-ERROR)
    Signalled when there is an error parsing a manifest file.
  • Condition UNSUPPORTED-OUTPUT-FORMAT  (CODEX-ERROR)
    Signalled when Codex doesn't know the output format a document specifies.
  • Condition TEMPLATE-ERROR  (CODEX-ERROR)
    Signalled by errors related to templates.
  • Condition NO-DOCSTRING  (CODEX-ERROR)
    Signalled when a node has no docstring.

CODEX.MARKUP

Parsing files and docstrings.
  • Variable *CURRENT-MARKUP-FORMAT*
    nil
    The name of the markup format that will be used to parse docstrings and files. This is a keyword that is passed to Pandocl.
  • Function PARSE-STRING (string)
    Parse a docstring into a documentation node using the current markup format.

CODEX.MANIFEST

Parsing Codex manifest files.
  • Class OUTPUT-FORMAT
    The base class of all output formats.
    No slots.
  • Class HTML  (OUTPUT-FORMAT)
    The base class of HTML formats.
    HTML-TEMPLATE   Reader: OUTPUT-HTML-TEMPLATE
    The name of the HTML template.
    TEMPLATE-OPTIONS   Reader: OUTPUT-HTML-TEMPLATE-OPTIONS
    A property list of template initargs.
  • Class SINGLE-HTML  (HTML)
    Single-file HTML output.
    No slots.
  • Class MULTI-HTML  (HTML)
    Multi-file HTML output.
    No slots.
  • Class DOCUMENT
    A Codex document. Project manifests can define multiple documents, e.g. a manual, a tutorial, an advanced manual.
    DOCUMENT-TITLE   Reader: DOCUMENT-TITLE
    The document's title.
    DOCUMENT-AUTHORS   Reader: DOCUMENT-AUTHORS
    A list of the document's authors.
    OUTPUT-FORMAT   Reader: DOCUMENT-OUTPUT-FORMAT
    The document's output format.
    DOCUMENT-SOURCES   Reader: DOCUMENT-SOURCES
    A list of pathnames to source files to build the document from.
  • Class MANIFEST
    Manifest options.
    MARKUP-FORMAT   Reader: MANIFEST-MARKUP-FORMAT
    The markup format used in docstrings.
    SYSTEMS   Reader: MANIFEST-SYSTEMS
    A list of systems to document.
    DOCUMENTS   Reader: MANIFEST-DOCUMENTS
    A list of documents.
  • Function PARSE-MANIFEST (pathname)
    Parse a manifest from a pathname.
  • Variable *DEFAULT-MANIFEST-PATHNAME*
    #p"docs/manifest.lisp"
    The pathname of the Codex manifest in a system.
  • Function SYSTEM-MANIFEST-PATHNAME (system-name &key manifest-path)
    Return the absolute pathname to a system's Codex manifest. @c(manifest-path) overrides @c(*default-manifest-pathname*) which is @c(#p"docs/manifest.lisp")

CODEX-MANIFEST-USER

The package in which Codex manifests are read.
No exported symbols.

CODEX.MACRO

CommonDoc macros for Codex.
  • Variable *INDEX*
    nil
    The current Docparser index.
  • Class CL-DOC  (MACRO-NODE)
    Insert documentation of a node.
    No slots.
  • Class WITH-PACKAGE  (MACRO-NODE)
    Set the current package to use in the body.
    NAME   Reader: PACKAGE-MACRO-NAME
    The package's name.
  • Class PARAM  (MACRO-NODE)
    An argument of an operator.
    No slots.
  • Class SPEC  (MACRO-NODE)
    Add a link to the Common Lisp HyperSpec.
    No slots.

CODEX

The main interface.
  • Variable *SKIP-UNDOCUMENTED*
    nil
    If this variable is not NIL, do not call a debugger when undocumented node is found.
  • Function DOCUMENT (system-name &key (skip-undocumented *skip-undocumented*) manifest-path)
    Generate documentation for a system. @c(skip-undocumented) overrides @c(*skip-undocumented*) @c(manifest-path) overrides @c(*default-manifest-pathname*) which is @c(#p"docs/manifest.lisp")
  • Function QUICKSTART (system-name)
    Create a documentation folder, manifest, and a sample file for the given system.

codex-templates

Templates for Codex.

CODEX.TMPL

Codex template definitions.
  • Class CODEX-TEMPLATE  (TEMPLATE)
    Codex templates.
    OUTPUT-DIRECTORY   Reader: OUTPUT-DIRECTORY
    The directory where the output will be produced.
    OPTIONS   Reader: OPTIONS
    A plist of template options.
  • Class BUILT-IN-TEMPLATE  (CODEX-TEMPLATE)
    A convenience subclass for Codex built-in templates. These slots are not built into the default codex-template class, since users might define their own templates without using this machinery.
    No slots.
  • Variable *TEMPLATE-DATABASE*
    (let ((codex.tmpl::table (make-hash-table)))
      (setf (gethash :minima codex.tmpl::table) (find-class 'codex.tmpl::minima))
      (setf (gethash :gamma codex.tmpl::table) (find-class 'codex.tmpl::gamma))
      codex.tmpl::table)
    A hash table of table names (Keywords) to template classes.
  • Function FIND-TEMPLATE (template-name)
    Find a template by name.