The 40ants-doc-plantuml Reference Manual

This is the 40ants-doc-plantuml Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 20:16:20 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 40ants-doc-plantuml

An extension to 40ants-doc Common Lisp documentation library to render PlantUML diagrams inside of the documentation.

Author

Alexander Artemenko <>

Home Page

https://40ants.com/doc-plantuml

Source Control

(GIT https://github.com/40ants/doc-plantuml)

Bug Tracker

https://github.com/40ants/doc-plantuml/issues

License

Unlicense

Long Description

<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-40README-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

# 40ants-doc-plantuml - An extension to 40ants-doc Common Lisp documentation library to render PlantUML diagrams inside of the documentation.

<a id="40-ants-doc-plantuml-asdf-system-details"></a>

## 40ANTS-DOC-PLANTUML ASDF System Details

* Description: An extension to 40ants-doc Common Lisp documentation library to render Plant‘UML‘ diagrams inside of the documentation.
* Licence: Unlicense
* Author: Alexander Artemenko <svetlyak.40wt@gmail.com>
* Homepage: [https://40ants.com/doc-plantuml][30dd]
* Bug tracker: [https://github.com/40ants/doc-plantuml/issues][95d4]
* Source control: [GIT][a2c9]
* Depends on: [40ants-doc][2c00], [40ants-doc-full][a797], [40ants-plantuml][80dc], [common-doc][fceb], [serapeum][c41d], [str][ef7f]

[![](https://github-actions.40ants.com/40ants/doc-plantuml/matrix.svg?only=ci.run-tests)][20ac]

![](http://quickdocs.org/badge/40ants-doc-plantuml.svg)

<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-3A-40INSTALLATION-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## Installation

You can install this library from Quicklisp, but you want to receive updates quickly, then install it from Ultralisp.org:

“‘
(ql-dist:install-dist "http://dist.ultralisp.org/"
:prompt nil)
(ql:quickload :40ants-doc-plantuml)
“‘
<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-3A-40SHORT-USAGE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## Usage

Use [‘defdiagram‘][8ebd] macro to define a diagram:

“‘
(defdiagram @demo ()
"

@startuml
start
if (Are you\nusing\nCommon Lisp?) then (yes)
label space1
label space2
:Cool!;
else (no)
:Go learn it!;
if (Do you know\nwhere\nto start?) then (yes)
:Just do it!;
else (no)
:Open lisp-lang.org;
endif
:Join the\ncommunity.;
endif
:You are\nmarvelous!;
end
@enduml

")
“‘
Then you can include this diagram into a documentation section:

“‘
(defsection @example (:title "Example")
"Here is our diagram:"
(@demo diagram))
“‘
and image will be rendered like this:

![](https://40ants.com/doc-plantuml/images/demo.png)

<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-3A-40API-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## API

<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-3A-4040ANTS-DOC-PLANTUML-3FPACKAGE-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

### 40ANTS-DOC-PLANTUML

<a id="x-28-23A-28-2819-29-20BASE-CHAR-20-2E-20-2240ANTS-DOC-PLANTUML-22-29-20PACKAGE-29"></a>

#### [package](7722) ‘40ants-doc-plantuml‘

<a id="x-2840ANTS-DOC-PLANTUML-DOCS-2FINDEX-3A-3A-7C-4040ANTS-DOC-PLANTUML-3FMacros-SECTION-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

#### Macros

<a id="x-2840ANTS-DOC-PLANTUML-3ADEFDIAGRAM-20-2840ANTS-DOC-2FLOCATIVES-3AMACRO-29-29"></a>

##### [macro](842c) ‘40ants-doc-plantuml:defdiagram‘ name nil &body code

This macro creates a diagram object and binds it to a variable with given ‘NAME‘.

Forms given in the body, should return a string in the format of ‘PlantUML‘ diagram.
This could be a simple string or one or more lisp forms.

[30dd]: https://40ants.com/doc-plantuml
[8ebd]: https://40ants.com/doc-plantuml/#x-2840ANTS-DOC-PLANTUML-3ADEFDIAGRAM-20-2840ANTS-DOC-2FLOCATIVES-3AMACRO-29-29
[a2c9]: https://github.com/40ants/doc-plantuml
[20ac]: https://github.com/40ants/doc-plantuml/actions
[7722]: https://github.com/40ants/doc-plantuml/blob/9ae3e3c6cbecbad7e8b203335faa66148400ca44/src/core.lisp#L1
[842c]: https://github.com/40ants/doc-plantuml/blob/9ae3e3c6cbecbad7e8b203335faa66148400ca44/src/core.lisp#L38
[95d4]: https://github.com/40ants/doc-plantuml/issues
[2c00]: https://quickdocs.org/40ants-doc
[a797]: https://quickdocs.org/40ants-doc-full
[80dc]: https://quickdocs.org/40ants-plantuml
[fceb]: https://quickdocs.org/common-doc
[c41d]: https://quickdocs.org/serapeum
[ef7f]: https://quickdocs.org/str

* * *
###### [generated by [40ANTS-DOC](https://40ants.com/doc/)]

Version

0.1.0

Defsystem Dependency

40ants-asdf-system (system).

Dependency

40ants-doc-plantuml/core (system).

Source

40ants-doc-plantuml.asd.


2.2 40ants-doc-plantuml/core

Author

Alexander Artemenko <>

Home Page

https://40ants.com/doc-plantuml

Source Control

(GIT https://github.com/40ants/doc-plantuml)

Bug Tracker

https://github.com/40ants/doc-plantuml/issues

License

Unlicense

Dependencies
  • 40ants-doc/locatives/base (system).
  • 40ants-doc/locatives (system).
  • common-doc (system).
  • 40ants-doc-full/commondoc/builder (system).
  • str (system).
  • serapeum (system).
  • 40ants-doc-full/commondoc/image (system).
  • 40ants-plantuml (system).
  • 40ants-doc/object-package (system).
Source

40ants-doc-plantuml.asd.


3 Files

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


3.1 Lisp


3.1.1 40ants-doc-plantuml/40ants-doc-plantuml.asd

Source

40ants-doc-plantuml.asd.

Parent Component

40ants-doc-plantuml (system).

ASDF Systems

3.1.2 40ants-doc-plantuml/core/file-type.lisp

Source

40ants-doc-plantuml.asd.

Parent Component

40ants-doc-plantuml/core (system).

Packages

40ants-doc-plantuml.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 40ants-doc-plantuml

Source

file-type.lisp.

Nickname

40ants-doc-plantuml/core

Use List

common-lisp.

Public Interface

defdiagram (macro).

Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: defdiagram (name () &body code)

This macro creates a diagram object and binds it to a variable with given NAME.

Forms given in the body, should return a string in the format of ‘PlantUML‘ diagram. This could be a simple string or one or more lisp forms.

Package

40ants-doc-plantuml.

Source

file-type.lisp.


5.1.2 Standalone methods

Method: object-package ((object diagram))
Package

40ants-doc/object-package.

Source

file-type.lisp.

Method: to-commondoc ((diagram diagram))
Package

40ants-doc-full/commondoc/builder.

Source

file-type.lisp.


5.2 Internals


5.2.1 Generic functions

Generic Reader: diagram-bound-to (object)
Package

40ants-doc-plantuml.

Methods
Reader Method: diagram-bound-to ((diagram diagram))

automatically generated reader method

Source

file-type.lisp.

Target Slot

bound-to.

Generic Reader: diagram-code (object)
Package

40ants-doc-plantuml.

Methods
Reader Method: diagram-code ((diagram diagram))

automatically generated reader method

Source

file-type.lisp.

Target Slot

code.

Generic Reader: diagram-filename (object)
Package

40ants-doc-plantuml.

Methods
Reader Method: diagram-filename ((diagram diagram))

automatically generated reader method

Source

file-type.lisp.

Target Slot

filename.


5.2.2 Classes

Class: diagram
Package

40ants-doc/locatives.

Source

file-type.lisp.

Direct methods
Direct slots
Slot: filename
Package

40ants-doc-plantuml.

Type

string

Initargs

:filename

Readers

diagram-filename.

Writers

This slot is read-only.

Slot: code
Package

40ants-doc-plantuml.

Type

string

Initargs

:code

Readers

diagram-code.

Writers

This slot is read-only.

Slot: bound-to
Package

40ants-doc-plantuml.

Type

(or null symbol)

Initargs

:bound-to

Readers

diagram-bound-to.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.3 Variables

Jump to:   B   C   F   S  
Index Entry  Section

B
bound-to: Private classes

C
code: Private classes

F
filename: Private classes

S
Slot, bound-to: Private classes
Slot, code: Private classes
Slot, filename: Private classes