This is the docs-builder Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 05:00:07 2025 GMT+0.
docs-builderdocs-builder/coredocs-builder/builderdocs-configdocs-config/configdocs-builder/guesserdocs-builder/changelogdocs-builder/builders/40ants-doc/guesserdocs-builder/utilsdocs-builder/builders/mgl-pax/guesserdocs-builder/builders/geneva/guesserdocs-builder/docsdocs-builder/docs-builder.asddocs-config/docs-config.asddocs-builder/core/file-type.lispdocs-builder/builder/file-type.lispdocs-config/config/file-type.lispdocs-builder/guesser/file-type.lispdocs-builder/changelog/file-type.lispdocs-builder/builders/40ants-doc/guesser/file-type.lispdocs-builder/utils/file-type.lispdocs-builder/builders/mgl-pax/guesser/file-type.lispdocs-builder/builders/geneva/guesser/file-type.lispdocs-builder/docs/file-type.lispThe main system appears first, followed by any subsystem dependency.
docs-builderdocs-builder/coredocs-builder/builderdocs-configdocs-config/configdocs-builder/guesserdocs-builder/changelogdocs-builder/builders/40ants-doc/guesserdocs-builder/utilsdocs-builder/builders/mgl-pax/guesserdocs-builder/builders/geneva/guesserdocs-builder/docsdocs-builderA meta documentation builder for Common Lisp projects.
Alexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
uiop (system).
docs-builder/core (system).
docs-builder/builders/40ants-doc/guesser (system).
docs-builder/builders/mgl-pax/guesser (system).
docs-builder/builders/geneva/guesser (system).
docs-builder/docs (system).
docs-builder/coreAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/builder (system).
docs-builder/guesser (system).
log4cl (system).
alexandria (system).
docs-builder/changelog (system).
docs-builder/builderAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
log4cl (system).
docs-config (system).
docs-configA protocol for defining configuration for DOCS-BUILDER system.
Alexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-config/config (system).
docs-config/configAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/guesserAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/changelogAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
40ants-doc (system).
40ants-doc/changelog (system).
docs-builder/builders/40ants-doc/guesserAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/guesser (system).
40ants-doc (system).
docs-builder/utils (system).
docs-builder/utilsAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
40ants-doc (system).
docs-builder/builders/mgl-pax/guesserAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/guesser (system).
40ants-doc (system).
docs-builder/utils (system).
docs-builder/builders/geneva/guesserAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
docs-builder/guesser (system).
40ants-doc (system).
docs-builder/docsAlexander Artemenko
(GIT https://github.com/40ants/docs-builder)
Unlicense
40ants-doc (system).
docs-builder/builders/mgl-pax/guesser (system).
docs-builder/builders/geneva/guesser (system).
docs-builder/utils (system).
docs-config (system).
docs-builder/core (system).
Files are sorted by type and then listed depth-first from the systems components trees.
docs-builder/docs-builder.asddocs-config/docs-config.asddocs-builder/core/file-type.lispdocs-builder/builder/file-type.lispdocs-config/config/file-type.lispdocs-builder/guesser/file-type.lispdocs-builder/changelog/file-type.lispdocs-builder/builders/40ants-doc/guesser/file-type.lispdocs-builder/utils/file-type.lispdocs-builder/builders/mgl-pax/guesser/file-type.lispdocs-builder/builders/geneva/guesser/file-type.lispdocs-builder/docs/file-type.lispdocs-builder/core/file-type.lispdocs-builder/core (system).
build (function).
documentation-has-problems (condition).
num-of-warnings (reader method).
docs-builder/builder/file-type.lispdocs-builder/builder (system).
build (generic function).
docs-config/config/file-type.lispdocs-config/config (system).
docs-config (generic function).
docs-builder/guesser/file-type.lispdocs-builder/guesser (system).
defguesser (macro).
guess-builder (generic function).
*guessers* (special variable).
*system-to-builder* (special variable).
find-or-load-system (function).
docs-builder/changelog/file-type.lispdocs-builder/changelog (system).
@changelog (special variable).
0.1.0 (special variable).
0.10.0 (special variable).
0.11.0 (special variable).
0.11.1 (special variable).
0.12.0 (special variable).
0.2.0 (special variable).
0.3.0 (special variable).
0.4.0 (special variable).
0.4.1 (special variable).
0.4.2 (special variable).
0.5.0 (special variable).
0.5.1 (special variable).
0.5.2 (special variable).
0.5.3 (special variable).
0.6.0 (special variable).
0.6.1 (special variable).
0.6.2 (special variable).
0.7.0 (special variable).
0.7.1 (special variable).
0.8.0 (special variable).
0.9.0 (special variable).
0.9.1 (special variable).
docs-builder/builders/40ants-doc/guesser/file-type.lispdocs-builder/builders/40ants-doc/guesser (system).
40ants-doc (function).
@index (special variable).
@todo (special variable).
docs-builder/utils/file-type.lispdocs-builder/utils (system).
external-dependencies (function).
system-packages (generic function).
@utils (special variable).
ensure-supported (function).
docs-builder/builders/mgl-pax/guesser/file-type.lispdocs-builder/builders/mgl-pax/guesser (system).
docs-builder/builders/geneva/guesser/file-type.lispdocs-builder/builders/geneva/guesser (system).
docs-builder/docs/file-type.lispdocs-builder/docs (system).
@index (special variable).
@readme (special variable).
docs-config (method).
*badges* (special variable).
*ignore-words* (special variable).
*introduction* (special variable).
@adding-a-build-method (special variable).
@adding-a-builder-class (special variable).
@adding-a-guesser (special variable).
@additional-params (special variable).
@api (special variable).
@command-line-usage (special variable).
@extending (special variable).
@github-action-usage (special variable).
@repl-usage (special variable).
@roadmap (special variable).
@supported-builders (special variable).
@usage (special variable).
Packages are listed by definition order.
docs-builder/builders/mgl-pax/guesserdocs-builder/docsdocs-builderdocs-builder/guesserdocs-builder/utilsdocs-builder/builderdocs-builder/builders/geneva/guesserdocs-builder/builders/40ants-doc/guesserdocs-builder/changelogdocs-configdocs-builder/docscommon-lisp.
*badges* (special variable).
*ignore-words* (special variable).
*introduction* (special variable).
@adding-a-build-method (special variable).
@adding-a-builder-class (special variable).
@adding-a-guesser (special variable).
@additional-params (special variable).
@api (special variable).
@command-line-usage (special variable).
@extending (special variable).
@github-action-usage (special variable).
@repl-usage (special variable).
@roadmap (special variable).
@supported-builders (special variable).
@usage (special variable).
docs-builderdocs-builder/core
common-lisp.
@index (special variable).
@readme (special variable).
build (function).
documentation-has-problems (condition).
num-of-warnings (generic reader).
docs-builder/guessercommon-lisp.
defguesser (macro).
guess-builder (generic function).
*guessers* (special variable).
*system-to-builder* (special variable).
find-or-load-system (function).
docs-builder/utilsThe utils for documentation builders.
common-lisp.
external-dependencies (function).
system-packages (generic function).
@utils (special variable).
ensure-supported (function).
docs-builder/builders/40ants-doc/guessercommon-lisp.
40ants-doc (function).
@index (special variable).
@todo (special variable).
docs-builder/changelogcommon-lisp.
@changelog (special variable).
0.1.0 (special variable).
0.10.0 (special variable).
0.11.0 (special variable).
0.11.1 (special variable).
0.12.0 (special variable).
0.2.0 (special variable).
0.3.0 (special variable).
0.4.0 (special variable).
0.4.1 (special variable).
0.4.2 (special variable).
0.5.0 (special variable).
0.5.1 (special variable).
0.5.2 (special variable).
0.5.3 (special variable).
0.6.0 (special variable).
0.6.1 (special variable).
0.6.2 (special variable).
0.7.0 (special variable).
0.7.1 (special variable).
0.8.0 (special variable).
0.9.0 (special variable).
0.9.1 (special variable).
docs-configdocs-config/config
common-lisp.
docs-config (generic function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Builds HTML documentation for ASDF system and returns absolute path to the dir with docs.
Returns a list of string with names of external dependencies of the system.
It works with package-inferred systems too, recursively collecting
external-dependencies of all subsystems.
Warning! By default, this function does not return dependencies of dependencies. To get them all, add :ALL T option.
Builds HTML documentation for ASDF system and returns absolute path to the dir with docs.
Should return a plist which will be passed as keyword
arguments to the documentation builder when building
docs for a given asdf-system.
Implement a method, EQL specialized on a concrete ASDF system.
Here is a typical method I use for my own libraries to set
a custom theme for 40ANTS-DOC system:
“‘lisp
(defmethod docs-config ((system (eql (asdf:registered-system "cl-info"))))
;; 40ANTS-DOC-THEME-40ANTS system will bring
;; as dependency a full 40ANTS-DOC but we don’t want
;; unnecessary dependencies here:
(uiop:symbol-call :ql :quickload :40ants-doc-theme-40ants)
(list :theme
(find-symbol "40ANTS-THEME"
(find-package "40ANTS-DOC-THEME-40ANTS"))))
“‘
Try to load additional dependencies inside the method. This users of your
library will not download dependencies needed only for building documentation.
For some special cases it might be useful to return a special key DYNAMIC-BINDINGS.
This could be useful, for configuring some custom extensions like it did with
interactive demos for the [Weblocks](https://40ants.com/weblocks/). Here is how
a method looks like when I configure Weblocks documentation builder:
“‘
(defmethod docs-config ((system (eql (asdf:registered-system "weblocks"))))
;; ...
(list :theme
(find-symbol "40ANTS-THEME"
(find-package "40ANTS-DOC-THEME-40ANTS"))
:dynamic-bindings (list (cons ’weblocks/doc/example:*server-url*
;; When local examples server is running,
;; we’ll be using it instead of production:
(unless weblocks/doc/example::*port*
"http://examples.40ants.com/"))))
“‘
Returns a builder object which can be passed to the DOCS-BUILDER/BUILDER:BUILD generic-function along with system.
The builder type is guessed using different euristics which depends on a documentation system.
If you want to add support for a new documentation generator, use DEFGUESSER macro.
documentation-has-problems)) ¶Returns a list of packages created by ASDF system.
Default implementation returns a package having the same name as a system
and all packages matched to package-inferred subsystems:
“‘
CL-USER> (docs-builder/utils:system-packages :docs-builder)
(#<PACKAGE "DOCS-BUILDER">
#<PACKAGE "DOCS-BUILDER/UTILS">
#<PACKAGE "DOCS-BUILDER/GUESSER">
#<PACKAGE "DOCS-BUILDER/BUILDERS/GENEVA/GUESSER">
#<PACKAGE "DOCS-BUILDER/BUILDER">
#<PACKAGE "DOCS-BUILDER/BUILDERS/MGL-PAX/GUESSER">
#<PACKAGE "DOCS-BUILDER/DOCS">
#<PACKAGE "DOCS-BUILDER/BUILDERS/MGL-PAX/BUILDER">)
“‘
This function can be used by builder to find pieces of documentation.
For example, DOCS-BUILDER/BUILDERS/MGL-PAX/GUESSER:@INDEX
builder uses it to find documentation sections.
Returns either a string or nil if this item should be skipped.
ITEM can be a string or a list like:
(:feature :windows "winhttp")
| Jump to: | 4
B D E F G M N S |
|---|
| Jump to: | 4
B D E F G M N S |
|---|
| Jump to: | *
0
@
N S |
|---|
| Jump to: | *
0
@
N S |
|---|
| Jump to: | C D F P S |
|---|
| Jump to: | C D F P S |
|---|