The cl-gendoc Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-gendoc Reference Manual

This is the cl-gendoc Reference Manual, version 1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:39:49 2022 GMT+0.

Table of Contents


1 Introduction

cl-gendoc

This is a simple but flexible modular document generator for Common Lisp, because I couldn't find something similar:

(gendoc (:output-filename "docs.html"
         :css "simple.css")
  (:mdf "intro.md")
  (:mdf "details.md")
  (:apiref :some-package :another-package)
  (:mdf "closing.md"))

Of some interest is probably the API reference generator:

(defun some-function (X)
  "=> output-forms

This takes `X` and produces *output-forms*"
  ...)

The docstring is processed as markdown with 3bmd, optionally specifying a return-spec if the first line starts with "=>".

See the generated documentation for cl-gendoc.


2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 cl-gendoc

cl-gendoc: Simple component-based documentation generator

Author

Ryan Pavlik

License

LLGPL, BSD

Version

1.0

Dependencies
  • sb-introspect (system).
  • cl-who (system).
  • 3bmd (system).
  • 3bmd-ext-code-blocks (system).
Source

cl-gendoc.asd.

Child Components

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 cl-gendoc/cl-gendoc.asd

Source

cl-gendoc.asd.

Parent Component

cl-gendoc (system).

ASDF Systems

cl-gendoc.


3.1.2 cl-gendoc/package.lisp

Source

cl-gendoc.asd.

Parent Component

cl-gendoc (system).

Packages

gendoc.


Previous: , Up: Lisp   [Contents][Index]

3.1.3 cl-gendoc/gendoc.lisp

Dependency

package.lisp (file).

Source

cl-gendoc.asd.

Parent Component

cl-gendoc (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 gendoc

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


5.1.1 Macros

Macro: define-gendoc-load-op (system-name package-name function-symbol)

Define ‘PERFORM‘ and ‘OPERATION-DONE-P‘ for ‘ASDF:LOAD-OP‘ for the system ‘SYSTEM-NAME‘, causing ‘LOAD-OP‘ to always call ‘FUNCTION-SYMBOL‘ in the package ‘PACKAGE-NAME‘.

For this to be useful, the specified function should call ‘GENDOC‘ to actually generate documentation.

Package

gendoc.

Source

gendoc.lisp.

Macro: gendoc ((&key stream title css path output-system output-component output-filename) &body parts)

=> string or no values

Generate documentation based on ‘PARTS‘. Each part is processed in order and the output is written to ‘STREAM‘, or, if specified, ‘OUTPUT-FILE‘ is overwritten (‘:if-exists :supersede‘).

‘TITLE‘ and ‘CSS‘ specify their HTML counterparts.

‘OUTPUT-SYSTEM‘ and ‘OUTPUT-COMPONENT‘ may be specified; if so, they are consulted to set ‘*DEFAULT-PATHNAME-DEFAULTS*‘, and files are read from and written to this location.

‘PATH‘ may be specified instead or along with ‘OUTPUT-SYSTEM‘ and ‘OUTPUT-COMPONENT‘; if both are specified, ‘PATH‘ overrides.

Package

gendoc.

Source

gendoc.lisp.


Previous: , Up: Public Interface   [Contents][Index]

5.1.2 Ordinary functions

Function: add-processor (name function)

Call ‘FUNCTION‘ when the component named ‘NAME‘ is encountered in the gendoc spec.

Package

gendoc.

Source

gendoc.lisp.


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Special variables

Special Variable: *part-processor*
Package

gendoc.

Source

gendoc.lisp.


Previous: , Up: Internals   [Contents][Index]

5.2.2 Ordinary functions

Function: apiref-doc (type sym)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-lambda (type sym)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-result (type sym)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-section-id (symbol)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-section-symbol (stream type symbol)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-spec (type sym)
Package

gendoc.

Source

gendoc.lisp.

Function: apiref-symbols (type package)
Package

gendoc.

Source

gendoc.lisp.

Function: arglist (function)
Package

gendoc.

Source

gendoc.lisp.

Function: filename-id (filename)
Package

gendoc.

Source

gendoc.lisp.

Function: function-p (symbol)
Package

gendoc.

Source

gendoc.lisp.

Function: gen-apiref (stream package)
Package

gendoc.

Source

gendoc.lisp.

Function: generic-function-p (symbol)
Package

gendoc.

Source

gendoc.lisp.

Function: macro-p (symbol)
Package

gendoc.

Source

gendoc.lisp.

Function: markdown-plain (input)

Runs ‘input‘ through markdown an removes the enclosing <p> tags.

Package

gendoc.

Source

gendoc.lisp.

Function: package-section-id (package suffix)
Package

gendoc.

Source

gendoc.lisp.

Function: process-apiref (stream name package-list)
Package

gendoc.

Source

gendoc.lisp.

Function: process-markdown-file (stream name part)
Package

gendoc.

Source

gendoc.lisp.

Function: process-text-file (stream name part)
Package

gendoc.

Source

gendoc.lisp.

Function: read-all (file-stream)
Package

gendoc.

Source

gendoc.lisp.

Function: special-p (symbol)
Package

gendoc.

Source

gendoc.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   A   D   F   G   M   P   R   S  
Index Entry  Section

A
add-processor: Public ordinary functions
apiref-doc: Private ordinary functions
apiref-lambda: Private ordinary functions
apiref-result: Private ordinary functions
apiref-section-id: Private ordinary functions
apiref-section-symbol: Private ordinary functions
apiref-spec: Private ordinary functions
apiref-symbols: Private ordinary functions
arglist: Private ordinary functions

D
define-gendoc-load-op: Public macros

F
filename-id: Private ordinary functions
Function, add-processor: Public ordinary functions
Function, apiref-doc: Private ordinary functions
Function, apiref-lambda: Private ordinary functions
Function, apiref-result: Private ordinary functions
Function, apiref-section-id: Private ordinary functions
Function, apiref-section-symbol: Private ordinary functions
Function, apiref-spec: Private ordinary functions
Function, apiref-symbols: Private ordinary functions
Function, arglist: Private ordinary functions
Function, filename-id: Private ordinary functions
Function, function-p: Private ordinary functions
Function, gen-apiref: Private ordinary functions
Function, generic-function-p: Private ordinary functions
Function, macro-p: Private ordinary functions
Function, markdown-plain: Private ordinary functions
Function, package-section-id: Private ordinary functions
Function, process-apiref: Private ordinary functions
Function, process-markdown-file: Private ordinary functions
Function, process-text-file: Private ordinary functions
Function, read-all: Private ordinary functions
Function, special-p: Private ordinary functions
function-p: Private ordinary functions

G
gen-apiref: Private ordinary functions
gendoc: Public macros
generic-function-p: Private ordinary functions

M
Macro, define-gendoc-load-op: Public macros
Macro, gendoc: Public macros
macro-p: Private ordinary functions
markdown-plain: Private ordinary functions

P
package-section-id: Private ordinary functions
process-apiref: Private ordinary functions
process-markdown-file: Private ordinary functions
process-text-file: Private ordinary functions

R
read-all: Private ordinary functions

S
special-p: Private ordinary functions

Jump to:   A   D   F   G   M   P   R   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*part-processor*: Private special variables

S
Special Variable, *part-processor*: Private special variables

Jump to:   *  
S