This is the geneva Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:14:08 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
geneva
Core of the Geneva document preparation system. Provides data structures and syntax sugar.
Max Rottenkolber <max@mr.gy>
GNU AGPL
split-sequence
(system).
named-readtables
(system).
geneva.lisp
(file).
normalize.lisp
(file).
struct.lisp
(file).
macros.lisp
(file).
syntax.lisp
(file).
utilities.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
geneva/geneva.asd
geneva/geneva.lisp
geneva/normalize.lisp
geneva/struct.lisp
geneva/macros.lisp
geneva/syntax.lisp
geneva/utilities.lisp
geneva/normalize.lisp
geneva.lisp
(file).
geneva
(system).
*whitespace*
(special variable).
join-strings
(function).
normalize-plaintext
(function).
normalize-text
(function).
normalize-text-item
(function).
normalize-text-whitespace
(function).
normalize-whitespace
(function).
position-non-whitespace-item
(function).
remove-empty-markup
(function).
trim-whitespace-items
(function).
trim-whitespace-suffixes
(function).
geneva/struct.lisp
geneva.lisp
(file).
geneva
(system).
content-type
(function).
content-values
(function).
make-bold
(function).
make-document
(function).
make-fixed-width
(function).
make-italic
(function).
make-listing
(function).
make-media
(function).
make-paragraph
(function).
make-plaintext
(function).
make-section
(function).
make-table
(function).
make-url
(function).
assert-content
(function).
assert-element
(function).
assert-rich-text
(function).
assert-text-token
(function).
make-markup
(function).
make-object
(function).
geneva/macros.lisp
geneva.lisp
(file).
struct.lisp
(file).
geneva
(system).
geneva/syntax.lisp
geneva.lisp
(file).
struct.lisp
(file).
macros.lisp
(file).
geneva
(system).
syntax
(special variable).
make-markup-reader
(function).
geneva/utilities.lisp
geneva.lisp
(file).
struct.lisp
(file).
geneva
(system).
*default-index-caption*
(special variable).
*index-headers-p*
(special variable).
*index-p*
(special variable).
align-string
(function).
descend-level
(function).
document-index
(function).
incf-level
(function).
level-string
(function).
null-level
(function).
text-string
(function).
wrap-string
(function).
document-index-2
(function).
Packages are listed by definition order.
geneva.utilities
Shared utility functions used by various components of Geneva.
common-lisp
.
geneva
.
split-sequence
.
*default-index-caption*
(special variable).
*index-headers-p*
(special variable).
*index-p*
(special variable).
align-string
(function).
descend-level
(function).
document-index
(function).
incf-level
(function).
level-string
(function).
null-level
(function).
text-string
(function).
wrap-string
(function).
document-index-2
(function).
geneva.macros
Macros and reader macros to help with procedural creation of Geneva documents.
common-lisp
.
editor-hints.named-readtables
.
geneva
.
make-markup-reader
(function).
geneva
Geneva core package. Exports functions to programatically create
and inspect _Geneva documents_.
In Open Geneva a _document_ is represented as a _list_ of _document
elements_. A _document element_ can be obtained using the element
constructors {make-paragraph}, {make-listing}, {make-table},
{make-media} and {make-section}. In order to ensure integrity, it is
recommended to use {make-document} to produce _documents_.
_Rich text_ is represeted as a _list_ of _text tokens_. A _text
token_ may be a _string_ or an object obtained using the text token
constructors {make-bold}, {make-italic}, {make-fixed-width} and
{make-url}.
_Document elements_ and _text tokens_ can be inspected using the
readers {content-type} and {content-values}.
_Documents_ and _document elements_ are printable and readable using
the Common Lisp printer and reader.
*Exceptional Situations:*
All functions external to this _package_ validate their parameters
and will signal an _error_ of _type_ {type-error} on mismatch.
*See Also:*
+ [Geneva Document Specification](geneva-document.html)
+ [Open Geneva User Manual](open-geneva.html)
common-lisp
.
split-sequence
.
content-type
(function).
content-values
(function).
make-bold
(function).
make-document
(function).
make-fixed-width
(function).
make-italic
(function).
make-listing
(function).
make-media
(function).
make-paragraph
(function).
make-plaintext
(function).
make-section
(function).
make-table
(function).
make-url
(function).
*whitespace*
(special variable).
assert-content
(function).
assert-element
(function).
assert-rich-text
(function).
assert-text-token
(function).
join-strings
(function).
make-markup
(function).
make-object
(function).
normalize-plaintext
(function).
normalize-text
(function).
normalize-text-item
(function).
normalize-text-whitespace
(function).
normalize-whitespace
(function).
position-non-whitespace-item
(function).
remove-empty-markup
(function).
trim-whitespace-items
(function).
trim-whitespace-suffixes
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Controls wether headers are numbered.
Controls wether an index is rendered.
*Description:*
Readtable containing reader macros for markup literals. Defines {#B},
{#I}, {#F} and {#U} to be expanded to code generating Geneva markup at
read-time using _make-bold_, _make-italic_, _make-fixed-width_ and
_make-url_ respectively.
*Notes:*
This readtable is registered as _geneva.macros:syntax_. In
order to use it invoke {named-readtable}’s {in-readtable} like so:
#code#
(in-readtable geneva.macros:syntax)
#
*Examples:*
#code#
#b"bold string" ≡ (geneva:make-bold "bold string")
#i"italic string" ≡ (geneva:make-italic "italic string")
#f"fixed-width string" ≡ (geneva:make-fixed-width "fixed-width string")
#u"url string" ≡ (geneva:make-url "url string")
#
*See Also:*
+ Named-Readtables ({editor-hints.named-readtables})
*Arguments and Values:*
_document_—_forms_ which evaluate to Geneva _elements_.
*Description:*
{section} returns a Geneva _docuent_ with _content_ as if by
{geneva:make-document}.
*Notes:*
#code#
(document {content}*) ≡ (make-document (list {content}*))
#
*Arguments and Values:*
_items_—_forms_ which evaluate to Geneva _rich text_.
*Description:*
{listing} returns a Geneva listing of _items_ as if by
{geneva:make-listing}.
*Notes:*
#code#
(listing {items}*) ≡ (make-listing (list {items}*))
#
*Arguments and Values:*
_description_—_forms_ which evaluate to Geneva _text tokens_.
_url_—a _form_ which evaluates to a _string_ designating an URL.
*Description:*
{media} returns a Geneva _media element_ for _url_ with _description_
as if by {geneva:make-media}.
*Notes:*
#code#
(media ({description}*) {url})
≡ (make-media (list {description}*) {url})
#
*Arguments and Values:*
_text_—_forms_ which evaluate to Geneva _text tokens_.
*Description:*
{paragraph} returns a Geneva paragraph made up of _text_ as if by
{geneva:make-paragraph}.
*Notes:*
#code#
(paragraph {text}*) ≡ (make-paragraph (list {text}*))
#
*Arguments and Values:*
_description_—_forms_ which evaluate to Geneva _text tokens_.
_plaintext_—a _form_ which evaluates to a _string_.
*Description:*
{plaintext} returns a Geneva _plaintext element_ for _plaintext_ with
_description_ as if by {geneva:make-plaintext}.
*Notes:*
#code#
(plaintext ({description}*) {plaintext})
≡ (make-plaintext (list {description}*) {plaintext})
#
*Arguments and Values:*
_header_—_forms_ which evaluate to Geneva _text tokens_.
_content_—_forms_ which evaluate to Geneva _elements_.
*Description:*
{section} returns a Geneva _section element_ with _header_ and
_content_ as if by {geneva:make-section}.
*Notes:*
#code#
(section ({header}*) {body}*)
≡ (make-section (list {header}*) (list {body}*))
#
*Arguments and Values:*
_description_—_forms_ which evaluate to Geneva _text tokens_.
_rows_—a list of column lists containing _forms_ which evaluate to
Geneva _text tokens_.
*Description:*
{table} returns a Geneva table with _rows_ and _description_ as if by
{geneva:make-table}.
*Examples:*
#code#
(table ("10° Celsius in various units.")
(("Fahrenheit") ((prin1-to-string (+ (* 1.8 10) 32))))
(("Kelvin") ((prin1-to-string (+ 10 273.15)))))
≡ (make-table (list "10° Celsius in various units.")
(list (list "Fahrenheit")
(list (prin1-to-string (+ (* 1.8 10) 32))))
(list (list "Kelvin")
(list (prin1-to-string (+ 10 273.15)))))
#
Return aligned copy of STRING with respect to COLUMNS. Possible values for ALIGNMENT are :RIGHT and :CENTER.
*Arguments and Values:*
_content_—an _element_ or a _text token_.
*Description*:
{content-type} returns a _keyword_ denoting the type of _content_ which may be one of {:paragraph}, {:listing}, {:table}, {:plaintext}, {:media}, {:section}, {:plain}, {:bold}, {:italic}, {:fixed-width} or {:url}.
*Arguments and Values:*
_content_—an _element_ or a _text token_.
*Description*:
{content-values} returns the components of _content_. The returned values are the _normalized_ forms of their respective content constructor’s arguments and therefore depend on the type of _content_.
Returns the next deeper LEVEL.
Returns section hierarchy on DOCUMENT.
Increment LEVEL by one.
Return string representation for LEVEL.
*Arguments and Values:*
_string_—a _string_.
*Description*:
{make-bold} returns a _text token_ of type {:bold} for _string_.
*Arguments and Values:*
_elements_—a _list_ of _document elements_.
*Description*:
{make-document} returns a _document_ consisting of _elements_.
*Arguments and Values:*
_string_—a _string_.
*Description*:
{make-fixed-width} returns a _text token_ of type {:fixed-width} for _string_.
*Arguments and Values:*
_string_—a _string_.
*Description*:
{make-italic} returns a _text token_ of type {:bold} for _string_.
*Arguments and Values:*
_items_—a _list_ of _rich text_ sequences.
*Description*:
{make-listing} returns a _document element_ of type {:listing} with _items_.
*Arguments and Values:*
_description_—a _rich text_ sequence.
_url_—a _string_.
*Description*:
{make-media} returns a _document element_ of type {:media} with _description_ and _url_.
*Arguments and Values:*
_text_—a _rich text_ sequence.
*Description*:
{make-paragraph} returns _document element_ of type {:paragraph} with _text_.
*Arguments and Values:*
_description_—a _rich text_ sequence.
_plaintext_—a _string_.
*Description*:
{make-plaintext} returns a _document element_ of type {:plaintext} with _description_ and _plaintext_.
*Arguments and Values:*
_header_—a _rich text_ sequence.
_elements_—a _list_ of _document elements_.
*Description*:
{make-section} returns a _document element_ of type {section} with _header_ and _elements_.
*Arguments and Values:*
_description_—a _rich text_ sequence.
_rows_—a two dimensional list of _rich text_ sequences.
*Description*:
{make-table} returns a _document element_ of type {:table} with _description_ and _rows_.
*Arguments and Values:*
_string_—a _string_.
_url_—a _string_.
*Description*:
{make-url} returns a _text token_ of type {:url} for _string_. If _url_ is given then _string_ is used as the label, otherwise _string_ is both label and URL.
Returns the root level.
Return TEXT string without markup.
Return copy of STRING with spaces replaced by newlines so that lines do not exceed COLUMNS characters when possible. COLUMNS defaults to 72.
Characters considered whitespace.
Assert that thing is a valid element or text token. On failure signal a TYPE-ERROR.
Assert that THING is a valid element. On failure signal a TYPE-ERROR.
Assert that THING is a valid rich text sequence. On failure signal a TYPE-ERROR.
Assert that THING is a valid text token. On failure signal a TYPE-ERROR.
Base function for DOCUMENT-INDEX.
Join :PLAIN text tokens in TEXT.
Make markup of TYPE for STRINGS. Signal a TYPE-ERROR if STRINGS are not of type string.
Returns function that reads string literal and applies CONSTRUCTOR.
Make an object of TYPE for DESCRIPTION text and CONTENT. Assert that DESCRIPTION is a valid rich text sequence.
Remove leading and ending whitespace, global indent and whitespace line-suffixes from plaintext STRING .
Remove empty markup and join adjacent strings in TEXT, then remove superfluous whitespace.
Normalize *WHITESPACE* in text ITEM and optionally TRIM :LEFT or :RIGHT.
Remove obsoltete whitespace from TEXT.
Normalize *WHITESPACE* in STRING and optionally TRIM :LEFT, :RIGHT or :BOTH.
Get position of first non-whitespace item in TEXT and maybe start FROM-END.
Remove empty markup from TEXT.
Remove whitespace from start and end of TEXT.
Trim whitespace suffixes from LINE.
Jump to: | A C D F I J L M N P R S T W |
---|
Jump to: | A C D F I J L M N P R S T W |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | F G M N P S U |
---|
Jump to: | F G M N P S U |
---|