The eazy-documentation Reference Manual

This is the eazy-documentation Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:20:22 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 eazy-documentation

One-shot solution to the CL documentation generator.

Author

Masataro Asai

Contact

License

LGPL

Version

0.1

Dependencies
  • trivia (system).
  • alexandria (system).
  • iterate (system).
  • cl-ppcre (system).
  • trivia.ppcre (system).
  • common-doc (system).
  • common-html (system).
  • common-doc-split-paragraphs (system).
  • cl-who (system).
Source

eazy-documentation.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 eazy-documentation/eazy-documentation.asd

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

ASDF Systems

eazy-documentation.


3.1.2 eazy-documentation/0package.lisp

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Packages

eazy-documentation.

Internals

3.1.3 eazy-documentation/1common.lisp

Dependency

0package.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Internals

3.1.4 eazy-documentation/1definition.lisp

Dependency

1common.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Public Interface

print-object (method).

Internals

3.1.5 eazy-documentation/1raw-html.lisp

Dependency

1definition.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Public Interface

3.1.6 eazy-documentation/2extractor.lisp

Dependency

1raw-html.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Internals

3.1.7 eazy-documentation/3emitter.lisp

Dependency

2extractor.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Internals

3.1.8 eazy-documentation/4user.lisp

Dependency

3emitter.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Public Interface
Internals

3.1.9 eazy-documentation/5template.lisp

Dependency

4user.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Public Interface
Internals

eazy-template (class).


3.1.10 eazy-documentation/6main.lisp

Dependency

5template.lisp (file).

Source

eazy-documentation.asd.

Parent Component

eazy-documentation (system).

Public Interface

main (function).


4 Packages

Packages are listed by definition order.


4.1 eazy-documentation

This package provides an easy way to extract documentations from
a lisp source code.

Advantages over the existing libraries:

* EAZY-DOCUMENTATION can generate documents from a single file or an ASDF system.
Run ‘(eazy-documentation:generate-html <file-or-system> "index.html")‘
No additional quirks are necessary.

* Extraction is heuristic and robust. It is easily automated and can handle
unknown user-defined macro whose name begins with DEF.

* As per Quickdocs, it respects the file and directory structure. Well-written, maintainable libraries have a great readability in the source code. This should be respected
and the documentation generator should respect this structure.

* It minimizes the clutter in the auto-generateded output by detecting and
grouping the similar documentation entries.
For example, these entries are grouped together:

* Functions with the same lambda-list and docstrings.
* Variables with the same docstrings.
* Any DEF-something macro entries with the same name and missing documentations.

* Typesetting and syntax highlighting of docstring is done by [Pandoc](https://pandoc.org/) which supports a wide range of language and
format support.

Run ‘curl -sSL https://get.haskellstack.org/ | sh && stack install pandoc‘
to install the latest Pandoc.

* The output is a common-doc object, thus easily pluggable to the existing emitter
for them.

Source

0package.lisp.

Use List
  • alexandria.
  • common-doc.
  • common-lisp.
  • iterate.
  • trivia.level2.
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: convert-file-to-ascii-string (pin)
Package

eazy-documentation.

Source

1raw-html.lisp.

Function: convert-file-to-html-string (pin)
Package

eazy-documentation.

Source

1raw-html.lisp.

Function: convert-string-to-ascii-string (string markup)
Package

eazy-documentation.

Source

1raw-html.lisp.

Function: convert-string-to-html-string (string markup)
Package

eazy-documentation.

Source

1raw-html.lisp.

Function: extract-definitions-from-file (file &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: extract-definitions-from-system (system &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-commondoc-from-file (file &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-commondoc-from-system (system &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-html (file-or-system *target-pathname* &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-html-from-dir (dir *target-pathname* &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-html-from-file (file *target-pathname* &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: generate-html-from-system (system *target-pathname* &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: main (&rest argv)
Package

eazy-documentation.

Source

6main.lisp.


5.1.2 Standalone methods

Method: print-object ((def def) s)
Source

1definition.lisp.

Method: render ((template eazy-template) (document document) content-string)

The simplest template.

Package

common-html.template.

Source

5template.lisp.

Method: render-section ((template eazy-template) (document document) (section section) content-string)

The simplest section template.

Package

common-html.template.

Source

5template.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *default-css*

A list of CSS stylesheet pathnames to be loaded in the html by default.

Package

eazy-documentation.

Source

3emitter.lisp.

Special Variable: *default-fonts*

A list of strings for Google font name

Package

eazy-documentation.

Source

3emitter.lisp.

Special Variable: *default-js*

A list of JavaScript pathnames to be loaded in the html by default.

Package

eazy-documentation.

Source

3emitter.lisp.

Special Variable: *deferred-tasks*

A list of thunks. Each thunk contains code to extract the docstring after loading the system. This variable is mainly used for parsing (setf (documentation ...)) forms
because the docstring may not be available in the macro expansion time unlike macros such as DEFUN.

Package

eazy-documentation.

Source

2extractor.lisp.

Special Variable: *defs*
Package

eazy-documentation.

Source

2extractor.lisp.

Special Variable: *ids*
Package

eazy-documentation.

Source

3emitter.lisp.

Special Variable: *local-root*
Package

eazy-documentation.

Source

1common.lisp.

Special Variable: *old-macroexpand-hook*
Package

eazy-documentation.

Source

2extractor.lisp.

Special Variable: *remote-root*
Package

eazy-documentation.

Source

1common.lisp.

Special Variable: *supported-extensions*

the list of supported extensions scraped by eazy-documentation

Package

eazy-documentation.

Source

4user.lisp.

Special Variable: *target-pathname*
Package

eazy-documentation.

Source

4user.lisp.

Special Variable: +doc+
Package

eazy-documentation.

Source

1common.lisp.

Special Variable: +ignore+

Declare statement that says ignorable for the keyword arguments in +keywords+.

Package

eazy-documentation.

Source

1common.lisp.

Special Variable: +keywords+

The list of keyword argument list shared by several functions.

Package

eazy-documentation.

Source

1common.lisp.


5.2.2 Ordinary functions

Function: add-def (&rest initargs &key doctype name args docstring file)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: augment-args-from-dir (dir &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: augment-args-from-file (file &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Supply missing command-line arguments using file information

Package

eazy-documentation.

Source

4user.lisp.

Function: augment-args-from-system (system &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Supply missing command-line arguments using system information

Package

eazy-documentation.

Source

4user.lisp.

Function: basename (pathname)

path/to/dir/file -> file

Package

eazy-documentation.

Source

1common.lisp.

Function: call-with-extracting-definitions (fn)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: classes (&rest classes)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: collect-static-files (dir &key name-pattern extensions)
Package

eazy-documentation.

Source

4user.lisp.

Function: copy-destination (src dir)
Package

eazy-documentation.

Source

1common.lisp.

Function: copy-to-dir (src dir &optional force)
Package

eazy-documentation.

Source

1common.lisp.

Function: def= (a b)

Compare the name and the doctype. Returns true when they are both EQ.

Package

eazy-documentation.

Source

1definition.lisp.

Function: def~ (a b)

Compare the name (and its package), doctype, file, args, docstring. Returns true when they look same according to a heuristic rule.

Package

eazy-documentation.

Source

1definition.lisp.

Function: def~doc (a b)

Compare the file and docstring.
Returns true when they are both missing or EQUAL.

Package

eazy-documentation.

Source

1definition.lisp.

Function: dirname (pathname)

path/to/dir/file -> path/to/dir

use uiop:pathname-directory-pathanme when you need path/to/dir/

Package

eazy-documentation.

Source

1common.lisp.

Function: div (element-or-elements &rest args)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: entry-status (defs)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: expand-extracting-definitions (expander form env)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: extract-definitions (form)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: extract-definitions-from-dir (dir &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

4user.lisp.

Function: extract-definitions-from-static-files (static-files)
Package

eazy-documentation.

Source

4user.lisp.

Function: fdiv (element-or-elements)

force making a div – make-content may omit them if it lacks classes

Package

eazy-documentation.

Source

3emitter.lisp.

Function: generate-commondoc (defs &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

3emitter.lisp.

Function: generate-commondoc-main (defs &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

3emitter.lisp.

Function: insert-docstring (def entry markup multi-p)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: left (a b)
Package

eazy-documentation.

Source

1definition.lisp.

Function: list+ (&rest args)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: list-all-define-macros ()

Print a list of all macros in the current lisp image whose name starts with DEF.

Package

eazy-documentation.

Source

0package.lisp.

Function: local-enough-namestring (file)
Package

eazy-documentation.

Source

1common.lisp.

Function: make-doc-entry (entries def markup)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: make-entry (defs mode)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: merge-slot (from to slot &optional fn)
Package

eazy-documentation.

Source

1definition.lisp.

Function: natural-language-string-p (string)

Heuristic decision to prune non-docstring

Package

eazy-documentation.

Source

2extractor.lisp.

Function: note (format-string &rest args)

A custom format variant for printing a note while eazy-documentation is processing a file.

Package

eazy-documentation.

Source

0package.lisp.

Function: par (string &rest classes)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: parse-def (form)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: parse-key-arg (arg)
Package

eazy-documentation.

Source

1common.lisp.

Function: parse-setf (args)
Package

eazy-documentation.

Source

2extractor.lisp.

Function: print-args (def)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: print-package (def)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: process-black-white-list (defs blacklist whitelist external-only)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: remote-enough-namestring (file)
Package

eazy-documentation.

Source

1common.lisp.

Function: remove-macro-lambda-list-keywords (lambda-list)

remove &whole and &env from a lambda list

Package

eazy-documentation.

Source

2extractor.lisp.

Function: render-html (node pathname &rest args &key title header footer whitelist blacklist external-only toc max-depth template-class css-list js-list font-list clean remote-root local-root relative static-files markup &allow-other-keys)

Options:

| keyword | description | |:—————-|:————————————————————————–| | :title | Documentation title | | :header | The header inserted after the title | | :footer | The footer inserted at the bottom | | :markup | Markup langage used in the docstring, should be supported by pandoc. | | | | | :whitelist | Whitelist of the package designators for the symbols being documented | | :blacklist | Blacklist of the package designators for the symbols being documented | | :external-only | Generate entries for external symbols only | | | | | :toc | Generate a table of contents (toc) | | :max-depth | The maximum depth of a toc | | | | | :template-class | COMMON-HTML template class, no need to be chanded. | | :css-list | List of CSS scripts to be added to the template. | | :js-list | List of Javascripts to be added to the template. | | :font-list | List of Google fonts to be added to the template. | | :clean | Overwrite CSS/JS in the target directory | | | | | :remote-root | Used to generate a weblink. Example: https://github.com/<name>/<proj> | | :local-root | Used to generate a weblink. Example: /home/<user>/lisp/<proj>/blob/master | | :relative | When non-nil, the output is relative to the value of local-root. | | :static-files | List of static README files etc. |

Package

eazy-documentation.

Source

3emitter.lisp.

Function: safe-name (def)
Package

eazy-documentation.

Source

1definition.lisp.

Function: span (string &rest classes)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: span-id (name &rest classes)

Create a span element with an id based on SYM.

Package

eazy-documentation.

Source

3emitter.lisp.

Function: strip/ (filename)
Package

eazy-documentation.

Source

4user.lisp.

Function: symbol-package-name-class (sym)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: symbol-status (sym)
Package

eazy-documentation.

Source

3emitter.lisp.

Function: table-of-contents (doc-or-node &key max-depth)

Extract a tree of document links representing the table of contents of a document. All the sections in the document must have references, so you should call fill-unique-refs first.

Completely rewritten from common-html because it infers the depth incorrectly.

Package

eazy-documentation.

Source

3emitter.lisp.


5.2.3 Generic functions

Generic Reader: args (object)
Package

eazy-documentation.

Methods
Reader Method: args ((def def))

automatically generated reader method

Source

1definition.lisp.

Target Slot

args.

Generic Writer: (setf args) (object)
Package

eazy-documentation.

Methods
Writer Method: (setf args) ((def def))

automatically generated writer method

Source

1definition.lisp.

Target Slot

args.

Generic Reader: docstring (object)
Package

eazy-documentation.

Methods
Reader Method: docstring ((def def))

automatically generated reader method

Source

1definition.lisp.

Target Slot

docstring.

Generic Writer: (setf docstring) (object)
Package

eazy-documentation.

Methods
Writer Method: (setf docstring) ((def def))

automatically generated writer method

Source

1definition.lisp.

Target Slot

docstring.

Generic Reader: doctype (object)
Package

eazy-documentation.

Methods
Reader Method: doctype ((def def))

automatically generated reader method

Source

1definition.lisp.

Target Slot

doctype.

Generic Writer: (setf doctype) (object)
Package

eazy-documentation.

Methods
Writer Method: (setf doctype) ((def def))

automatically generated writer method

Source

1definition.lisp.

Target Slot

doctype.

Generic Reader: file (object)
Package

eazy-documentation.

Methods
Reader Method: file ((def def))

automatically generated reader method

Source

1definition.lisp.

Target Slot

file.

Generic Writer: (setf file) (object)
Package

eazy-documentation.

Methods
Writer Method: (setf file) ((def def))

automatically generated writer method

Source

1definition.lisp.

Target Slot

file.

Generic Reader: name (object)
Package

eazy-documentation.

Methods
Reader Method: name ((def def))

automatically generated reader method

Source

1definition.lisp.

Target Slot

name.

Generic Writer: (setf name) (object)
Package

eazy-documentation.

Methods
Writer Method: (setf name) ((def def))

automatically generated writer method

Source

1definition.lisp.

Target Slot

name.


5.2.4 Classes

Class: def

Instances represententing a documentation entry.

Package

eazy-documentation.

Source

1definition.lisp.

Direct methods
Direct slots
Slot: doctype
Type

symbol

Initargs

:doctype

Readers

doctype.

Writers

(setf doctype).

Slot: name
Type

eazy-documentation::name

Initargs

:name

Readers

name.

Writers

(setf name).

Slot: args
Type

list

Initargs

:args

Readers

args.

Writers

(setf args).

Slot: docstring
Type

string

Initargs

:docstring

Readers

docstring.

Writers

(setf docstring).

Slot: file
Type

pathname

Initform

(or *compile-file-pathname* *load-pathname*)

Initargs

:file

Readers

file.

Writers

(setf file).

Class: eazy-template
Package

eazy-documentation.

Source

5template.lisp.

Direct superclasses

template.

Direct methods
Direct slots
Slot: css-list
Type

list

Initform

eazy-documentation::*default-css*

Initargs

:css-list

Slot: font-list
Type

list

Initform

eazy-documentation::*default-fonts*

Initargs

:font-list

Slot: js-list
Type

list

Initform

eazy-documentation::*default-js*

Initargs

:js-list


5.2.5 Types

Type: name ()
Package

eazy-documentation.

Source

1definition.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   N   P   R   S   T  
Index Entry  Section

(
(setf args): Private generic functions
(setf args): Private generic functions
(setf docstring): Private generic functions
(setf docstring): Private generic functions
(setf doctype): Private generic functions
(setf doctype): Private generic functions
(setf file): Private generic functions
(setf file): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions

A
add-def: Private ordinary functions
args: Private generic functions
args: Private generic functions
augment-args-from-dir: Private ordinary functions
augment-args-from-file: Private ordinary functions
augment-args-from-system: Private ordinary functions

B
basename: Private ordinary functions

C
call-with-extracting-definitions: Private ordinary functions
classes: Private ordinary functions
collect-static-files: Private ordinary functions
convert-file-to-ascii-string: Public ordinary functions
convert-file-to-html-string: Public ordinary functions
convert-string-to-ascii-string: Public ordinary functions
convert-string-to-html-string: Public ordinary functions
copy-destination: Private ordinary functions
copy-to-dir: Private ordinary functions

D
def=: Private ordinary functions
def~: Private ordinary functions
def~doc: Private ordinary functions
dirname: Private ordinary functions
div: Private ordinary functions
docstring: Private generic functions
docstring: Private generic functions
doctype: Private generic functions
doctype: Private generic functions

E
entry-status: Private ordinary functions
expand-extracting-definitions: Private ordinary functions
extract-definitions: Private ordinary functions
extract-definitions-from-dir: Private ordinary functions
extract-definitions-from-file: Public ordinary functions
extract-definitions-from-static-files: Private ordinary functions
extract-definitions-from-system: Public ordinary functions

F
fdiv: Private ordinary functions
file: Private generic functions
file: Private generic functions
Function, add-def: Private ordinary functions
Function, augment-args-from-dir: Private ordinary functions
Function, augment-args-from-file: Private ordinary functions
Function, augment-args-from-system: Private ordinary functions
Function, basename: Private ordinary functions
Function, call-with-extracting-definitions: Private ordinary functions
Function, classes: Private ordinary functions
Function, collect-static-files: Private ordinary functions
Function, convert-file-to-ascii-string: Public ordinary functions
Function, convert-file-to-html-string: Public ordinary functions
Function, convert-string-to-ascii-string: Public ordinary functions
Function, convert-string-to-html-string: Public ordinary functions
Function, copy-destination: Private ordinary functions
Function, copy-to-dir: Private ordinary functions
Function, def=: Private ordinary functions
Function, def~: Private ordinary functions
Function, def~doc: Private ordinary functions
Function, dirname: Private ordinary functions
Function, div: Private ordinary functions
Function, entry-status: Private ordinary functions
Function, expand-extracting-definitions: Private ordinary functions
Function, extract-definitions: Private ordinary functions
Function, extract-definitions-from-dir: Private ordinary functions
Function, extract-definitions-from-file: Public ordinary functions
Function, extract-definitions-from-static-files: Private ordinary functions
Function, extract-definitions-from-system: Public ordinary functions
Function, fdiv: Private ordinary functions
Function, generate-commondoc: Private ordinary functions
Function, generate-commondoc-from-file: Public ordinary functions
Function, generate-commondoc-from-system: Public ordinary functions
Function, generate-commondoc-main: Private ordinary functions
Function, generate-html: Public ordinary functions
Function, generate-html-from-dir: Public ordinary functions
Function, generate-html-from-file: Public ordinary functions
Function, generate-html-from-system: Public ordinary functions
Function, insert-docstring: Private ordinary functions
Function, left: Private ordinary functions
Function, list+: Private ordinary functions
Function, list-all-define-macros: Private ordinary functions
Function, local-enough-namestring: Private ordinary functions
Function, main: Public ordinary functions
Function, make-doc-entry: Private ordinary functions
Function, make-entry: Private ordinary functions
Function, merge-slot: Private ordinary functions
Function, natural-language-string-p: Private ordinary functions
Function, note: Private ordinary functions
Function, par: Private ordinary functions
Function, parse-def: Private ordinary functions
Function, parse-key-arg: Private ordinary functions
Function, parse-setf: Private ordinary functions
Function, print-args: Private ordinary functions
Function, print-package: Private ordinary functions
Function, process-black-white-list: Private ordinary functions
Function, remote-enough-namestring: Private ordinary functions
Function, remove-macro-lambda-list-keywords: Private ordinary functions
Function, render-html: Private ordinary functions
Function, safe-name: Private ordinary functions
Function, span: Private ordinary functions
Function, span-id: Private ordinary functions
Function, strip/: Private ordinary functions
Function, symbol-package-name-class: Private ordinary functions
Function, symbol-status: Private ordinary functions
Function, table-of-contents: Private ordinary functions

G
generate-commondoc: Private ordinary functions
generate-commondoc-from-file: Public ordinary functions
generate-commondoc-from-system: Public ordinary functions
generate-commondoc-main: Private ordinary functions
generate-html: Public ordinary functions
generate-html-from-dir: Public ordinary functions
generate-html-from-file: Public ordinary functions
generate-html-from-system: Public ordinary functions
Generic Function, (setf args): Private generic functions
Generic Function, (setf docstring): Private generic functions
Generic Function, (setf doctype): Private generic functions
Generic Function, (setf file): Private generic functions
Generic Function, (setf name): Private generic functions
Generic Function, args: Private generic functions
Generic Function, docstring: Private generic functions
Generic Function, doctype: Private generic functions
Generic Function, file: Private generic functions
Generic Function, name: Private generic functions

I
insert-docstring: Private ordinary functions

L
left: Private ordinary functions
list+: Private ordinary functions
list-all-define-macros: Private ordinary functions
local-enough-namestring: Private ordinary functions

M
main: Public ordinary functions
make-doc-entry: Private ordinary functions
make-entry: Private ordinary functions
merge-slot: Private ordinary functions
Method, (setf args): Private generic functions
Method, (setf docstring): Private generic functions
Method, (setf doctype): Private generic functions
Method, (setf file): Private generic functions
Method, (setf name): Private generic functions
Method, args: Private generic functions
Method, docstring: Private generic functions
Method, doctype: Private generic functions
Method, file: Private generic functions
Method, name: Private generic functions
Method, print-object: Public standalone methods
Method, render: Public standalone methods
Method, render-section: Public standalone methods

N
name: Private generic functions
name: Private generic functions
natural-language-string-p: Private ordinary functions
note: Private ordinary functions

P
par: Private ordinary functions
parse-def: Private ordinary functions
parse-key-arg: Private ordinary functions
parse-setf: Private ordinary functions
print-args: Private ordinary functions
print-object: Public standalone methods
print-package: Private ordinary functions
process-black-white-list: Private ordinary functions

R
remote-enough-namestring: Private ordinary functions
remove-macro-lambda-list-keywords: Private ordinary functions
render: Public standalone methods
render-html: Private ordinary functions
render-section: Public standalone methods

S
safe-name: Private ordinary functions
span: Private ordinary functions
span-id: Private ordinary functions
strip/: Private ordinary functions
symbol-package-name-class: Private ordinary functions
symbol-status: Private ordinary functions

T
table-of-contents: Private ordinary functions


A.3 Variables

Jump to:   *   +  
A   C   D   F   J   N   S  
Index Entry  Section

*
*default-css*: Private special variables
*default-fonts*: Private special variables
*default-js*: Private special variables
*deferred-tasks*: Private special variables
*defs*: Private special variables
*ids*: Private special variables
*local-root*: Private special variables
*old-macroexpand-hook*: Private special variables
*remote-root*: Private special variables
*supported-extensions*: Private special variables
*target-pathname*: Private special variables

+
+doc+: Private special variables
+ignore+: Private special variables
+keywords+: Private special variables

A
args: Private classes

C
css-list: Private classes

D
docstring: Private classes
doctype: Private classes

F
file: Private classes
font-list: Private classes

J
js-list: Private classes

N
name: Private classes

S
Slot, args: Private classes
Slot, css-list: Private classes
Slot, docstring: Private classes
Slot, doctype: Private classes
Slot, file: Private classes
Slot, font-list: Private classes
Slot, js-list: Private classes
Slot, name: Private classes
Special Variable, *default-css*: Private special variables
Special Variable, *default-fonts*: Private special variables
Special Variable, *default-js*: Private special variables
Special Variable, *deferred-tasks*: Private special variables
Special Variable, *defs*: Private special variables
Special Variable, *ids*: Private special variables
Special Variable, *local-root*: Private special variables
Special Variable, *old-macroexpand-hook*: Private special variables
Special Variable, *remote-root*: Private special variables
Special Variable, *supported-extensions*: Private special variables
Special Variable, *target-pathname*: Private special variables
Special Variable, +doc+: Private special variables
Special Variable, +ignore+: Private special variables
Special Variable, +keywords+: Private special variables


A.4 Data types

Jump to:   0   1   2   3   4   5   6  
C   D   E   F   N   P   S   T  
Index Entry  Section

0
0package.lisp: The eazy-documentation/0package․lisp file

1
1common.lisp: The eazy-documentation/1common․lisp file
1definition.lisp: The eazy-documentation/1definition․lisp file
1raw-html.lisp: The eazy-documentation/1raw-html․lisp file

2
2extractor.lisp: The eazy-documentation/2extractor․lisp file

3
3emitter.lisp: The eazy-documentation/3emitter․lisp file

4
4user.lisp: The eazy-documentation/4user․lisp file

5
5template.lisp: The eazy-documentation/5template․lisp file

6
6main.lisp: The eazy-documentation/6main․lisp file

C
Class, def: Private classes
Class, eazy-template: Private classes

D
def: Private classes

E
eazy-documentation: The eazy-documentation system
eazy-documentation: The eazy-documentation package
eazy-documentation.asd: The eazy-documentation/eazy-documentation․asd file
eazy-template: Private classes

F
File, 0package.lisp: The eazy-documentation/0package․lisp file
File, 1common.lisp: The eazy-documentation/1common․lisp file
File, 1definition.lisp: The eazy-documentation/1definition․lisp file
File, 1raw-html.lisp: The eazy-documentation/1raw-html․lisp file
File, 2extractor.lisp: The eazy-documentation/2extractor․lisp file
File, 3emitter.lisp: The eazy-documentation/3emitter․lisp file
File, 4user.lisp: The eazy-documentation/4user․lisp file
File, 5template.lisp: The eazy-documentation/5template․lisp file
File, 6main.lisp: The eazy-documentation/6main․lisp file
File, eazy-documentation.asd: The eazy-documentation/eazy-documentation․asd file

N
name: Private types

P
Package, eazy-documentation: The eazy-documentation package

S
System, eazy-documentation: The eazy-documentation system

T
Type, name: Private types