The cmark Reference Manual

This is the cmark Reference Manual, version 0.5.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:04:42 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cmark

Common Lisp bindings to libcmark, the CommonMark reference implementation

Author

HiPhish <>

License

BSD-2-Clause

Version

0.5.2

Dependencies
  • libcmark (system).
  • cffi (system).
  • flexi-streams (system).
Source

cmark.asd.

Child Component

src (module).


2.2 libcmark

Common Lisp bindings to libcmark, the CommonMark reference implementation

Author

HiPhish <>

License

BSD-2-Clause

Version

0.5.2

Dependency

cffi (system).

Source

libcmark.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cmark/src

Source

cmark.asd.

Parent Component

cmark (system).

Child Component

cmark (module).


3.2 cmark/src/cmark

Source

cmark.asd.

Parent Component

src (module).

Child Components

3.3 libcmark/src

Source

libcmark.asd.

Parent Component

libcmark (system).

Child Component

libcmark (module).


3.4 libcmark/src/libcmark

Source

libcmark.asd.

Parent Component

src (module).

Child Components

4 Files

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


4.1 Lisp


4.1.1 cmark/cmark.asd

Source

cmark.asd.

Parent Component

cmark (system).

ASDF Systems

cmark.


4.1.2 libcmark/libcmark.asd

Source

libcmark.asd.

Parent Component

libcmark (system).

ASDF Systems

libcmark.


4.1.3 cmark/src/cmark/package.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Packages

cmark.


4.1.4 cmark/src/cmark/conditions.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface

4.1.5 cmark/src/cmark/node.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface
Internals

4.1.6 cmark/src/cmark/iteration.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface
Internals

4.1.7 cmark/src/cmark/tree-manipulation.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface
Internals

4.1.8 cmark/src/cmark/tree-traversal.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface

4.1.9 cmark/src/cmark/from-foreign.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Internals

4.1.10 cmark/src/cmark/parsing.lisp

Source

cmark.asd.

Parent Component

cmark (module).

Public Interface
Internals

4.1.11 libcmark/src/libcmark/package.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Packages

libcmark.


4.1.12 libcmark/src/libcmark/main.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

markdown-to-html (function).


4.1.13 libcmark/src/libcmark/option.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.14 libcmark/src/libcmark/memory-allocator.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

default-mem-allocator (function).

Internals

cmark-mem-tclass (class).


4.1.15 libcmark/src/libcmark/node-constructor.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.16 libcmark/src/libcmark/tree-traversal.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.17 libcmark/src/libcmark/node-accessor.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.18 libcmark/src/libcmark/iterator.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.19 libcmark/src/libcmark/tree-manipulation.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.20 libcmark/src/libcmark/parsing.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.21 libcmark/src/libcmark/rendering.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

4.1.22 libcmark/src/libcmark/version.lisp

Source

libcmark.asd.

Parent Component

libcmark (module).

Public Interface

5 Packages

Packages are listed by definition order.


5.1 libcmark

Low-level Common Lisp bindings to the libcmark C library. See also the cmark(3) man page.

Source

package.lisp.

Use List
  • cffi.
  • common-lisp.
Public Interface
Internals

cmark-mem-tclass (class).


5.2 cmark

High-level interface to libcmark

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Constants

Constant: +cmark-opt-default+

Default options.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-hardbreaks+

Render softbreak elements as hard line breaks.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-nobreaks+

Render softbreak elements as spaces.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-normalize+

Legacy option (no effect).

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-safe+

+CMARK-OPT-SAFE+ is defined here for API compatibility, but it no longer has any effect. "Safe" mode is now the default: set +CMARK-OPT-UNSAFE+ to disable it.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-smart+

Convert straight quotes to curly, — to em dashes, – to en dashes.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-sourcepos+

Include a data-sourcepos attribute on all block elements.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-unsafe+

Render raw HTML and unsafe links (javascript:, vbscript:, file:, and data:, except for image/png, image/gif, image/jpeg, or image/webp mime types). By default, raw HTML is replaced by a placeholder HTML comment. Unsafe links are replaced by empty strings.

Package

libcmark.

Source

option.lisp.

Constant: +cmark-opt-validate-utf8+

Validate UTF-8 in the input before parsing, replacing illegal sequences with the replacement character U+FFFD.

Package

libcmark.

Source

option.lisp.


6.1.2 Macros

Macro: with-streaming-parser ((parser &key smart) &body body)

Evaluate the BODY forms with PARSER bound to a new streaming parser instance. The parser will be safely closed and disposed of when the form terminates. Evaluates to the last BODY expression.

Package

cmark.

Source

parsing.lisp.


6.1.3 Ordinary functions

Function: append-child-node (node child)

Append CHILD as the last child node of NODE. It is an error to append a node which is already a child of a node, signals UNEXPECTED-PARENT The following restarts are provided:
- DETACH-FROM-PARENT:
Detaches CHILD from its parent and thus from its original tree, then resumes the function.

Package

cmark.

Source

tree-manipulation.lisp.

Function: childlessp (node)

Whether NODE has no children

Package

cmark.

Source

node.lisp.

Function: close-streaming-parser (parser)

Closes the streaming PARSER, rendering it exhausted. Any internal state of the parser will be discarded. This function is idempotent: if the parser is already closed nothing will happen.

Package

cmark.

Source

parsing.lisp.

Function: consolidate-text-nodes (root)

Consolidates adjacent text nodes.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: consolidate-text-nodes (root)

Consolidates adjacent text nodes in the tree starting at ROOT. Adjacent nodes of type TEXT-NODE will be merged into one by concatenating their literal text. Only one node will remain in the tree, the other nodes will become orphaned. It is undefined which node will remain in the tree.

Package

cmark.

Source

tree-manipulation.lisp.

Function: default-mem-allocator ()

Returns a pointer to the default memory allocator.

Package

libcmark.

Source

memory-allocator.lisp.

Function: feed-streaming-parser (parser string)

Feed a STRING into the streaming PARSER. It is an error to feed a closed parser, signals PARSER-EXHAUSTED.

Package

cmark.

Source

parsing.lisp.

Function: finish-streaming-parser (parser)

Returns the parsed node tree. Does not exhaust the parser, feeding the parser or finishing it again is not an error. It is an error to finish a closed parser, signals PARSER-EXHAUSTED.

Package

cmark.

Source

parsing.lisp.

Function: free-iterator (iter)

Frees the memory allocated for an iterator.

Package

libcmark.

Source

iterator.lisp.

Function: free-node (node)

Frees the memory allocated for a node and any children.

Package

libcmark.

Source

node-constructor.lisp.

Function: free-parser (parser)

Frees memory allocated for a parser object.

Package

libcmark.

Source

parsing.lisp.

Function: insert-node-after (node sibling)

Inserts SIBLING into the tree in front of NODE. It is an error to insert
after an orphan (signals UNEXPECTED-ORPHAN), or to insert a node which is already a child (signals UNEXPECTED-PARENT).

Package

cmark.

Source

tree-manipulation.lisp.

Function: insert-node-before (node sibling)

Inserts SIBLING into the tree in front of NODE. It is an error to insert
before an orphan (signals UNEXPECTED-ORPHAN), or to insert a node which is already a child (signals UNEXPECTED-PARENT).

Package

cmark.

Source

tree-manipulation.lisp.

Function: iterator-advance (iterator)

Advances the ITERATOR to the next node/event combination. If the iterator is exhausted nothing will happen. Returns the new node and event.

Package

cmark.

Source

iteration.lisp.

Function: iterator-get-event-type (iterator)

Returns the current event type.

Package

libcmark.

Source

iterator.lisp.

Function: iterator-get-node (iterator)

Returns the current node.

Package

libcmark.

Source

iterator.lisp.

Function: iterator-get-root (iterator)

Returns the root node.

Package

libcmark.

Source

iterator.lisp.

Function: iterator-next (iterator)

Advances to the next node and returns the event type (CMARK_EVENT_ENTER, CMARK_EVENT_EXIT or CMARK_EVENT_DONE).

Package

libcmark.

Source

iterator.lisp.

Function: iterator-reset (iterator current-node event-type)

Resets the ITERATOR so that the current node is CURRENT-NODE and the event type is EVENT-TYPE. The new current node must be a descendant of the root node or the root node itself.

Package

libcmark.

Source

iterator.lisp.

Function: iterator-reset (iterator current event-type)

Reset the ITERATOR so that the current node node is CURRENT and the event type is EVENT-TYPE. The new current node must be a descendant of the root node or the root node itself.

Package

cmark.

Source

iteration.lisp.

Function: make-iterator (root)

Creates a new iterator starting at ROOT. The current node and event type are undefined until ITER-NEXT is called for the first time. The memory allocated for the iterator should be released using FREE-ITERATOR when it is no longer needed.

Package

libcmark.

Source

iterator.lisp.

Function: make-iterator (root)
Package

cmark.

Source

iteration.lisp.

Function: make-node (type)

Creates a new node of type TYPE. Note that the node may have other required properties, which it is the caller’s responsibility to assign.

Package

libcmark.

Source

node-constructor.lisp.

Function: make-node-with-mem (type mem)

Same as MAKE-NODE, but explicitly listing the memory allocator used to allocate the node. Note: be sure to use the same allocator for every node in a tree, or bad things can happen.

Package

libcmark.

Source

node-constructor.lisp.

Function: make-parser (options)

Creates a new parser object.

Package

libcmark.

Source

parsing.lisp.

Function: make-parser-with-mem (options mem)

Creates a new parser object with the given MEMory allocator

Package

libcmark.

Source

parsing.lisp.

Function: make-streaming-parser (&key smart)

Creates a new streaming parser object. A streaming parser can be fed the CommonMark document piecewise, then once the entire document has been fed to it the parser can be finished, which produces the document node tree. It is the caller’s responsibility to close the stream.

Package

cmark.

Source

parsing.lisp.

Function: markdown-to-html (text len options)

Convert TEXT (assumed to be a UTF-8 encoded string with length LEN) from CommonMark Markdown to HTML, returning a null-terminated, UTF-8-encoded string. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

main.lisp.

Function: node-append-child (node child)

Adds CHILD to the end of the children of NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: node-first-child (node)

Returns the first child of node, or NULL if node has no children.

Package

libcmark.

Source

tree-traversal.lisp.

Function: node-first-child (node)

Returns the first child of NODE, or NIL if NODE has no children.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-get-end-column (node)

Returns the column at which NODE ends.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-end-line (node)

Returns the line on which NODE ends.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-fence-info (node)

Returns the info string from a fenced code block.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-heading-level (node)

Returns the heading level of NODE, or 0 if node is not a heading.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-list-delim (node)

Returns the list delimiter type of NODE, or CMARK-NO-DELIM if node is not a list.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-list-start (node)

Returns starting number of NODE, if it is an ordered list, otherwise 0.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-list-tight (node)

Returns 1 if NODE is a tight list, 0 otherwise.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-list-type (node)

Returns the list type of NODE, or :CMARK_NO_LIST if node is not a list.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-literal (node)

Returns the string contents of NODE, or an empty string if none is set. Returns NULL if called on a node that does not have string content.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-on-enter (node)

Returns the literal "on enter" text for a custom NODE, or an empty string if no on_enter is set. Returns NULL if called on a non-custom node.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-on-exit (node)

Returns the literal "on exit" text for a custom node, or an empty string if no on_exit is set. Returns NULL if called on a non-custom node.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-start-column (node)

Returns the column at which NODE begins.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-start-line (node)

Returns the line on which NODE begins.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-title (node)

Returns the title of a link or image NODE, or an empty string if no title is set. Returns NULL if called on a node that is not a link or image.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-type (node)

Returns the type of node, or CMARK_NODE_NONE on error.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-type-string (node)

Like NODE-GET-TYPE, but returns a string representation of the type, or "<unknown>".

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-url (node)

Returns the URL of a link or image NODE, or an empty string if no URL is set. Returns NULL if called on a node that is not a link or image.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-get-user-data (node)

Returns the user data of node.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-insert-after (node sibling)

Inserts sibling after NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: node-insert-before (node sibling)

Inserts sibling before NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: node-last-child (node)

Returns the last child of node, or NULL if node has no children.

Package

libcmark.

Source

tree-traversal.lisp.

Function: node-last-child (node)

Returns the last child of NODE, or NIL if NODE has no children.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-next (node)

Returns the next node in the sequence after node, or NULL if there is none.

Package

libcmark.

Source

tree-traversal.lisp.

Function: node-next (node &optional child)

Returns the next NODE in the tree, or NIL if there is none. The nodes are traversed in a depth-first manner. The CHILD parameter determines into which child node to descend.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-next-sibling (node)

Returns the next sibling NODE, or NIL if NODE is the last child.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-parent (node)

Returns the parent of node, or NULL if there is none.

Package

libcmark.

Source

tree-traversal.lisp.

Function: node-prepend-child (node child)

Adds CHILD to the beginning of the children of NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: node-previous (node)

Returns the previous node in the sequence after node, or NULL if there is none.

Package

libcmark.

Source

tree-traversal.lisp.

Function: node-previous (node)

Returns the previous NODE in the sequence after NODE, or NIL if there is none.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-previous-sibling (node)

Returns the next sibling NODE, or NIL if NODE is the last child.

Package

cmark.

Source

tree-traversal.lisp.

Function: node-replace (old-node new-node)

Replaces OLD-NODE with NEW-NODE and unlinks oldnode (but does not free its memory). Returns 1 on success, 0 on failure.

Package

libcmark.

Source

tree-manipulation.lisp.

Function: node-set-fence-info (node info)

Sets the info string in a fenced code block, returning 1 on success and ; 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-heading-level (node level)

Sets the heading LEVEL of NODE, returning 1 on success and 0 on error.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-list-delim (node delim)

Sets the list delimiter TYPE of NODE, returning 1 on success and 0 on error.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-list-start (node start)

Sets STARTing number of NODE, if it is an ordered list. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-list-tight (node tight)

Sets the "TIGHTness" of a list. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-list-type (node type)

Sets the list type of node, returning 1 on success and 0 on error.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-literal (node content)

Sets the string CONTENTS of NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-on-enter (node on-enter)

Sets the literal text to render ON-ENTER for a custom NODE. Any children of the node will be rendered after this text. Returns 1 on success 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-on-exit (node on-exit)

Sets the literal text to render ON-EXIT for a custom NODE. Any children of the node will be rendered before this text. Returns 1 on success 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-title (node title)

Sets the TITLE of a link or image NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-url (node url)

Sets the URL of a link or image NODE. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Function: node-set-user-data (node user-data)

Sets arbitrary user data for node. Returns 1 on success, 0 on failure.

Package

libcmark.

Source

node-accessor.lisp.

Unlinks a NODE, removing it from the tree, but not freeing its memory. (Use FREE-NODE for that.)

Package

libcmark.

Source

tree-manipulation.lisp.

Function: orphanp (node)

Whether NODE is an orphan, meaning it has no parent node.

Package

cmark.

Source

node.lisp.

Function: parse-document (buffer len options)

Parse a CommonMark document in BUFFER of length LEN. Returns a pointer to a tree of nodes. The memory allocated for the node tree should be released using cmark_node_free when it is no longer needed.

Package

libcmark.

Source

parsing.lisp.

Function: parse-document (document &key smart)

Parses a CommonMark DOOCUMENT string and returns the root node of the parsed document tree.

Package

cmark.

Source

parsing.lisp.

Function: parse-file (file options)

Parse a CommonMark document in file FILE, returning a pointer to a tree of nodes. The memory allocated for the node tree should be released using cmark_node_free when it is no longer needed.

Package

libcmark.

Source

parsing.lisp.

Function: parse-stream (input &key smart buffer-size)

Parses an input stream stream until the end of the stream is encountered, returns the root node of the parsed document tree. The optional :BUFFER-SIZE parameter determines how many characters are read at a time.

Package

cmark.

Source

parsing.lisp.

Function: parser-feed (parser buffer len)

Feeds a STRING of length LEN to parser.

Package

libcmark.

Source

parsing.lisp.

Function: parser-finish (parser)

Finish parsing and return a pointer to a tree of nodes.

Package

libcmark.

Source

parsing.lisp.

Function: prepend-child-node (node child)

Insert CHILD as the first child node of NODE. It is an error to prepend a node which is already a child of a node, signals UNEXPECTED-PARENT The following restarts are provided:
- DETACH-FROM-PARENT:
Detaches CHILD from its parent and thus from its original tree, then resumes the function.

Package

cmark.

Source

tree-manipulation.lisp.

Function: render-commonmark (root options width)

Render a node tree as a commonmark document. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

rendering.lisp.

Function: render-html (root options)

Render a node tree as an HTML fragment. It is up to the user to add an appropriate header and footer. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

rendering.lisp.

Function: render-latex (root options width)

Render a node tree as a LaTeX document. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

rendering.lisp.

Function: render-man (root options width)

Render a node tree as a groff man page, without the header. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

rendering.lisp.

Function: render-xml (root options)

Render a node tree as XML. It is the caller’s responsibility to free the returned buffer.

Package

libcmark.

Source

rendering.lisp.

Function: replace-node (old-node new-node)

Replaces OLD-NODE with NEW-NODE and unlinks OLD-NODE from the tree.

Package

cmark.

Source

tree-manipulation.lisp.

Unlinks a NODE from its parent, removing it from the node tree. Returns the node. The function is idempotent, i.e. unlinking a node without parent does nothing.

Package

cmark.

Source

tree-manipulation.lisp.

Function: version ()

The library version as integer for runtime checks.

• Bits 16-23 contain the major version.
• Bits 8-15 contain the minor version.
• Bits 0-7 contain the patchlevel.

In hexadecimal format, the number 0x010203 represents version 1.2.3.

Package

libcmark.

Source

version.lisp.

Function: version-string ()

The library version string for runtime checks.

Package

libcmark.

Source

version.lisp.

Function: walk-tree (node callback)

Iterate through the (sub)tree at NODE, calling CALLBACK at every event. The callback is a function which takes two arguments, the current node and the event type. Its return value is ignored.

Usually the callback would be a generic function that can dispatch on the class of node and type of event, but this is just a suggestion, not a requirement.

Package

cmark.

Source

iteration.lisp.

Function: which-child (node)

Position of NODE among its siblings, or NIL if NODE is an orphan.

Package

cmark.

Source

tree-traversal.lisp.


6.1.4 Generic functions

Generic Function: block-node-p (node)

Whether a node is a block-level node (as opposed to an inline node).

Package

cmark.

Source

node.lisp.

Methods
Method: block-node-p ((node node))
Method: block-node-p ((node block-node))
Generic Function: inline-node-p (node)

Whether a node is an inline node (as opposed to a block-level node).

Package

cmark.

Source

node.lisp.

Methods
Method: inline-node-p ((node node))
Method: inline-node-p ((node inline-node))
Generic Function: leaf-node-p (node)

Whether a node is a leaf-type node or not.

Package

cmark.

Source

node.lisp.

Methods
Method: leaf-node-p ((node node))
Method: leaf-node-p ((node parent-node))
Generic Function: node-children (node)

List of children of a NODE.

Package

cmark.

Source

node.lisp.

Methods
Method: node-children ((node parent-node))
Method: node-children ((node node))
Generic Reader: node-heading-level (object)
Generic Writer: (setf node-heading-level) (object)
Package

cmark.

Methods
Reader Method: node-heading-level ((heading-node heading-node))
Writer Method: (setf node-heading-level) ((heading-node heading-node))

Level of the heading

Source

node.lisp.

Target Slot

level.

Generic Reader: node-list-delim (object)
Generic Writer: (setf node-list-delim) (object)
Package

cmark.

Methods
Reader Method: node-list-delim ((list-node list-node))
Writer Method: (setf node-list-delim) ((list-node list-node))

The delimiter type of the list

Source

node.lisp.

Target Slot

delim.

Generic Reader: node-list-start (object)
Generic Writer: (setf node-list-start) (object)
Package

cmark.

Methods
Reader Method: node-list-start ((list-node list-node))
Writer Method: (setf node-list-start) ((list-node list-node))

Starting number of the node (zero for unordered lists)

Source

node.lisp.

Target Slot

start.

Generic Reader: node-list-type (object)
Generic Writer: (setf node-list-type) (object)
Package

cmark.

Methods
Reader Method: node-list-type ((list-node list-node))
Writer Method: (setf node-list-type) ((list-node list-node))

The type of list

Source

node.lisp.

Target Slot

type.

Generic Reader: node-literal (object)
Generic Writer: (setf node-literal) (object)
Package

cmark.

Methods
Reader Method: node-literal ((html-inline-node html-inline-node))
Writer Method: (setf node-literal) ((html-inline-node html-inline-node))

Text of the node (might be empty).

Source

node.lisp.

Target Slot

literal.

Reader Method: node-literal ((code-node code-node))
Writer Method: (setf node-literal) ((code-node code-node))

Text of the node (might be empty).

Source

node.lisp.

Target Slot

literal.

Reader Method: node-literal ((text-node text-node))
Writer Method: (setf node-literal) ((text-node text-node))

Text of the node (might be empty).

Source

node.lisp.

Target Slot

literal.

Reader Method: node-literal ((html-block-node html-block-node))
Writer Method: (setf node-literal) ((html-block-node html-block-node))

Text of the node (might be empty).

Source

node.lisp.

Target Slot

literal.

Reader Method: node-literal ((code-block-node code-block-node))
Writer Method: (setf node-literal) ((code-block-node code-block-node))

Text of the node (might be empty).

Source

node.lisp.

Target Slot

literal.

Generic Function: node-parent (node)

Parent node of NODE, or NIL if there is none.

Package

cmark.

Source

node.lisp.

Methods
Method: node-parent ((node child-node))
Method: node-parent ((node node))
Generic Reader: node-title (object)
Generic Writer: (setf node-title) (object)
Package

cmark.

Methods
Reader Method: node-title ((image-node image-node))
Writer Method: (setf node-title) ((image-node image-node))

Title of the node (empty if there is no title)

Source

node.lisp.

Target Slot

title.

Reader Method: node-title ((link-node link-node))
Writer Method: (setf node-title) ((link-node link-node))

Title of the node (empty if there is no title)

Source

node.lisp.

Target Slot

title.

Generic Reader: node-url (object)
Generic Writer: (setf node-url) (object)
Package

cmark.

Methods
Reader Method: node-url ((image-node image-node))
Writer Method: (setf node-url) ((image-node image-node))

URL of an image node

Source

node.lisp.

Target Slot

url.

Reader Method: node-url ((link-node link-node))
Writer Method: (setf node-url) ((link-node link-node))

URL of a link node

Source

node.lisp.

Target Slot

url.


6.1.5 Conditions

Condition: parser-exhausted

Trying to manipulate an exhausted streaming parser.

Package

cmark.

Source

conditions.lisp.

Direct superclasses

simple-error.

Direct slots
Slot: parser

The parser instance

Initargs

:parser

Slot: string

String to parse

Package

common-lisp.

Initform

(quote nil)

Initargs

:string

Condition: unexpected-orphan

Orphan node in a context where a child node is expected.

Package

cmark.

Source

conditions.lisp.

Direct superclasses

simple-error.

Direct slots
Slot: node

The node in question

Initargs

:node

Condition: unexpected-parent

Child node in a context where a orphan node is expected.

Package

cmark.

Source

conditions.lisp.

Direct superclasses

simple-error.

Direct slots
Slot: node

The node in question

Initargs

:node


6.1.6 Classes

Class: block-quote-node

Represents a block quotation.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: child-node

A node which can have a parent node.

Package

cmark.

Source

node.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods

node-parent.

Direct slots
Slot: parent

Parent node of this node, or NIL if this is a root node

Type

(or cmark:node null)

Initargs

:parent

Class: code-block-node

A block of code to present verbatim.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: fence-info

Info string from a fenced code block

Type

string

Initargs

:fence-info

Readers

node-fence-info.

Writers

(setf node-fence-info).

Slot: literal

Text of the node (might be empty).

Type

(or string null)

Initargs

:literal

Readers

node-literal.

Writers

(setf node-literal).

Class: code-node

Inline verbatim code.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: literal

Text of the node (might be empty).

Type

(or string null)

Initargs

:literal

Readers

node-literal.

Writers

(setf node-literal).

Class: custom-block-node

A user-defined node which produces custom text.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: on-enter

Literal text to render on entering a custom node

Type

string

Initargs

:on-enter

Readers

node-on-enter.

Writers

(setf node-on-enter).

Slot: on-exit

Literal text to render on exiting a custom node

Type

string

Initargs

:on-exit

Readers

node-on-exit.

Writers

(setf node-on-exit).

Class: custom-inline-node

A user-defined node which produces custom text.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: on-enter

Literal text to render on entering a custom node

Type

string

Initargs

:on-enter

Readers

node-on-enter.

Writers

(setf node-on-enter).

Slot: on-exit

Literal text to render on exiting a custom node

Type

string

Initargs

:on-exit

Readers

node-on-exit.

Writers

(setf node-on-exit).

Class: document-node

Root node of the entire document.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: emph-node

Container for emphatic text.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: heading-node

A heading with variable level.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: level

Level of the heading

Type

(integer 1 6)

Initargs

:level

Readers

node-heading-level.

Writers

(setf node-heading-level).

Class: html-block-node

Block-level embedded HTML code.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: literal

Text of the node (might be empty).

Type

(or string null)

Initargs

:literal

Readers

node-literal.

Writers

(setf node-literal).

Class: html-inline-node

Inline embedded HTML code.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: literal

Text of the node (might be empty).

Type

(or string null)

Initargs

:literal

Readers

node-literal.

Writers

(setf node-literal).

Class: image-node

Hyperlink with target URL and alt-text.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: url

URL of an image node

Type

string

Initargs

:url

Readers

node-url.

Writers

(setf node-url).

Slot: title

Title of the node (empty if there is no title)

Type

string

Initargs

:title

Readers

node-title.

Writers

(setf node-title).

Class: item-node

Represents an item inside a list (bullet or unordered).

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: linebreak-node

A hard line break which does not terminate the current block level element.

Package

cmark.

Source

node.lisp.

Direct superclasses

Hyperlink with target URL and title.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: url

URL of a link node

Type

string

Initargs

:url

Readers

node-url.

Writers

(setf node-url).

Slot: title

Title of the node (empty if there is no title)

Type

string

Initargs

:title

Readers

node-title.

Writers

(setf node-title).

Class: list-node

A list node, it can be either an unordered list (:BULLET-LIST) or an :ORDERED-LIST.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: type

The type of list

Package

common-lisp.

Type

(member :cmark-bullet-list :cmark-ordered-list)

Initargs

:type

Readers

node-list-type.

Writers

(setf node-list-type).

Slot: delim

The delimiter type of the list

Type

(member :period :paren)

Initargs

:delim

Readers

node-list-delim.

Writers

(setf node-list-delim).

Slot: start

Starting number of the node (zero for unordered lists)

Type

(integer 0 *)

Initargs

:start

Readers

node-list-start.

Writers

(setf node-list-start).

Slot: tightp

Whether the node is a tight list

Type

boolean

Initargs

:tightp

Readers

node-list-tight-p.

Writers

(setf node-list-tight-p).

Class: node

Base class of all cmark nodes.

Package

cmark.

Source

node.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: user-data

User data of the node

Type

integer

Initargs

:user-data

Readers

node-user-data.

Writers

(setf node-user-data).

Slot: start-line

Line at which the node begins

Type

(integer 0 *)

Initargs

:start-line

Readers

node-start-line.

Writers

This slot is read-only.

Slot: start-column

Column at which the node begins

Type

(integer 0 *)

Initargs

:start-column

Readers

node-start-column.

Writers

This slot is read-only.

Slot: end-line

Line at which the node ends

Type

(integer 0 *)

Initargs

:end-line

Readers

node-end-line.

Writers

This slot is read-only.

Slot: end-column

Column at which the node ends

Type

(integer 0 *)

Initargs

:end-column

Readers

node-end-column.

Writers

This slot is read-only.

Class: paragraph-node

A paragraph of the document.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: parent-node

A node which can have child nodes.

Package

cmark.

Source

node.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods
Direct slots
Slot: children

All child nodes of this node

Type

list

Initargs

:children

Class: softbreak-node

A line break which may be rendered differently depending on the rendering options.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: strong-node

Container for strong text.

Package

cmark.

Source

node.lisp.

Direct superclasses
Class: text-node

Plain text content.

Package

cmark.

Source

node.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: literal

Text of the node (might be empty).

Type

(or string null)

Initargs

:literal

Readers

node-literal.

Writers

(setf node-literal).

Class: thematic-break-node

Represents a thematic break within the content of the document.

Package

cmark.

Source

node.lisp.

Direct superclasses

6.2 Internals


6.2.1 Special variables

Special Variable: *foreign/native-nodes*

Mapping of foreign node memory pointer to a native node. Bind this variable to a hash table while translating foreign nodes to native ones; as a new native node is constructed add an entry, later nodes can then refer to it, e.g. to get a reference to their native parent based on their foreign parent.

Package

cmark.

Source

from-foreign.lisp.

Special Variable: *node-common-fields*

List of (FOREIGN-GETTER . NATIVE-INITARG) pairs for all common node fields.

Package

cmark.

Source

from-foreign.lisp.

Special Variable: *node-type-to-class*

Maps the node type symbol from libcmark to a native node class name its slots. Each slot is (FOREIGN-GETTER . NATIVE-INITARG) pair.

Package

cmark.

Source

from-foreign.lisp.

Special Variable: *non-exit-nodes*

List of node classes for which no EXIT event will be generated.

Package

cmark.

Source

iteration.lisp.


6.2.2 Macros

Macro: define-node-parser-method (method-name type)

Defines a method specialised for parsing a foreign node into a native node based on its TYPE. All the slots, except PARENT and CHILDREN, are initialised based by getting the value from the foreign node.

Package

cmark.

Source

from-foreign.lisp.


6.2.3 Ordinary functions

Function: copy-iterator (instance)
Package

cmark.

Source

iteration.lisp.

Function: copy-streaming-parser (instance)
Package

cmark.

Source

parsing.lisp.

Function: dump-tree (root)

Dumps a string of the node tree.

Package

cmark.

Source

parsing.lisp.

Function: insert-after (list i e)

Helper function, returns LIST with ELEMENT inserted after element at position I. Destructive towards LIST!

Package

cmark.

Source

tree-manipulation.lisp.

Function: insert-before (list i element)

Helper function, returns LIST with ELEMENT inserted before element at position I. Destructive towards LIST!

Package

cmark.

Source

tree-manipulation.lisp.

Function: insert-node (node sibling method)

Helper function, inserts SIBLING before or after NODE, depending on the METHOD.

Package

cmark.

Source

tree-manipulation.lisp.

Reader: iterator-event (instance)
Writer: (setf iterator-event) (instance)
Package

cmark.

Source

iteration.lisp.

Target Slot

event.

Reader: iterator-node (instance)
Writer: (setf iterator-node) (instance)
Package

cmark.

Source

iteration.lisp.

Target Slot

node.

Function: iterator-p (object)
Package

cmark.

Source

iteration.lisp.

Reader: iterator-root (instance)
Writer: (setf iterator-root) (instance)
Package

cmark.

Source

iteration.lisp.

Target Slot

root.

Function: node-from-foreign (foreign)

Helper function, translates one FOREIGN node to a native one. Establishes parent/child relationship.

Package

cmark.

Source

from-foreign.lisp.

Function: parse-tree (foreign)

Parses the entire FOREIGN tree into a native tree.

Package

cmark.

Source

from-foreign.lisp.

Reader: streaming-parser-exhausted-p (instance)
Writer: (setf streaming-parser-exhausted-p) (instance)
Package

cmark.

Source

parsing.lisp.

Target Slot

exhausted-p.

Reader: streaming-parser-foreign-parser (instance)
Writer: (setf streaming-parser-foreign-parser) (instance)
Package

cmark.

Source

parsing.lisp.

Target Slot

foreign-parser.

Function: streaming-parser-p (object)
Package

cmark.

Source

parsing.lisp.

Function: string-octet-length (string)

Helper function, returns the length of STRING in UTF-8 encoded bytes

Package

cmark.

Source

parsing.lisp.

Function: thing-to-gensym (thing)

Helper function, ignores its argument and generates an uninterned symbol.

Package

cmark.

Source

from-foreign.lisp.

Function: zip (list1 list2)

Helper function, zips two lists into one flat list.

Package

cmark.

Source

from-foreign.lisp.


6.2.4 Generic functions

Generic Reader: node-end-column (object)
Package

cmark.

Methods
Reader Method: node-end-column ((node node))

Column at which the node ends

Source

node.lisp.

Target Slot

end-column.

Generic Reader: node-end-line (object)
Package

cmark.

Methods
Reader Method: node-end-line ((node node))

Line at which the node ends

Source

node.lisp.

Target Slot

end-line.

Generic Reader: node-fence-info (object)
Generic Writer: (setf node-fence-info) (object)
Package

cmark.

Methods
Reader Method: node-fence-info ((code-block-node code-block-node))
Writer Method: (setf node-fence-info) ((code-block-node code-block-node))

Info string from a fenced code block

Source

node.lisp.

Target Slot

fence-info.

Generic Reader: node-list-tight-p (object)
Generic Writer: (setf node-list-tight-p) (object)
Package

cmark.

Methods
Reader Method: node-list-tight-p ((list-node list-node))
Writer Method: (setf node-list-tight-p) ((list-node list-node))

Whether the node is a tight list

Source

node.lisp.

Target Slot

tightp.

Generic Reader: node-on-enter (object)
Generic Writer: (setf node-on-enter) (object)
Package

cmark.

Methods
Reader Method: node-on-enter ((custom-inline-node custom-inline-node))
Writer Method: (setf node-on-enter) ((custom-inline-node custom-inline-node))

Literal text to render on entering a custom node

Source

node.lisp.

Target Slot

on-enter.

Reader Method: node-on-enter ((custom-block-node custom-block-node))
Writer Method: (setf node-on-enter) ((custom-block-node custom-block-node))

Literal text to render on entering a custom node

Source

node.lisp.

Target Slot

on-enter.

Generic Reader: node-on-exit (object)
Generic Writer: (setf node-on-exit) (object)
Package

cmark.

Methods
Reader Method: node-on-exit ((custom-inline-node custom-inline-node))
Writer Method: (setf node-on-exit) ((custom-inline-node custom-inline-node))

Literal text to render on exiting a custom node

Source

node.lisp.

Target Slot

on-exit.

Reader Method: node-on-exit ((custom-block-node custom-block-node))
Writer Method: (setf node-on-exit) ((custom-block-node custom-block-node))

Literal text to render on exiting a custom node

Source

node.lisp.

Target Slot

on-exit.

Generic Reader: node-start-column (object)
Package

cmark.

Methods
Reader Method: node-start-column ((node node))

Column at which the node begins

Source

node.lisp.

Target Slot

start-column.

Generic Reader: node-start-line (object)
Package

cmark.

Methods
Reader Method: node-start-line ((node node))

Line at which the node begins

Source

node.lisp.

Target Slot

start-line.

Generic Reader: node-user-data (object)
Generic Writer: (setf node-user-data) (object)
Package

cmark.

Methods
Reader Method: node-user-data ((node node))
Writer Method: (setf node-user-data) ((node node))

User data of the node

Source

node.lisp.

Target Slot

user-data.

Generic Function: parse-node (g5 type)
Package

cmark.

Methods
Method: parse-node (g7 (type (eql :cmark-node-image)))
Source

from-foreign.lisp.

Method: parse-node (g7 (type (eql :cmark-node-link)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-strong)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-emph)))
Source

from-foreign.lisp.

Method: parse-node (g7 (type (eql :cmark-node-custom-inline)))
Source

from-foreign.lisp.

Method: parse-node (g6 (type (eql :cmark-node-html-inline)))
Source

from-foreign.lisp.

Method: parse-node (g6 (type (eql :cmark-node-code)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-linebreak)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-softbreak)))
Source

from-foreign.lisp.

Method: parse-node (g6 (type (eql :cmark-node-text)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-thematic-break)))
Source

from-foreign.lisp.

Method: parse-node (g6 (type (eql :cmark-node-heading)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-paragraph)))
Source

from-foreign.lisp.

Method: parse-node (g7 (type (eql :cmark-node-custom-block)))
Source

from-foreign.lisp.

Method: parse-node (g6 (type (eql :cmark-node-html-block)))
Source

from-foreign.lisp.

Method: parse-node (g7 (type (eql :cmark-node-code-block)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-item)))
Source

from-foreign.lisp.

Method: parse-node (g9 (type (eql :cmark-node-list)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-block-quote)))
Source

from-foreign.lisp.

Method: parse-node (g5 (type (eql :cmark-node-document)))
Source

from-foreign.lisp.


6.2.5 Structures

Structure: iterator

An iterator will walk through a tree of nodes, starting from a ROOT node, returning one node at a time, together with information about whether the node is being entered or exited.

The iterator is an opaque object, we cannot inspect its state. Instead we need to use the return values of ITERATOR-ADVANCE to get the next pair of node and event.

Package

cmark.

Source

iteration.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: root
Type

cmark:node

Initform

cmark::root

Readers

iterator-root.

Writers

(setf iterator-root).

Slot: node
Type

cmark:node

Initform

cmark::root

Readers

iterator-node.

Writers

(setf iterator-node).

Slot: event
Type

(or null cmark::node-event)

Readers

iterator-event.

Writers

(setf iterator-event).

Structure: streaming-parser
Package

cmark.

Source

parsing.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: foreign-parser
Type

(or null cffi-sys:foreign-pointer)

Readers

streaming-parser-foreign-parser.

Writers

(setf streaming-parser-foreign-parser).

Slot: exhausted-p
Type

boolean

Readers

streaming-parser-exhausted-p.

Writers

(setf streaming-parser-exhausted-p).


6.2.6 Classes

Class: block-node

A mixin class which marks block-level nodes.

Package

cmark.

Source

node.lisp.

Direct subclasses
Direct methods

block-node-p.

Class: cmark-mem-tclass
Package

libcmark.

Source

memory-allocator.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: inline-node

A mixin class which marks inline nodes.

Package

cmark.

Source

node.lisp.

Direct subclasses
Direct methods

inline-node-p.


6.2.7 Types

Type: node-event ()

Type of event when iterating through a node tree

Package

cmark.

Source

iteration.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   F   G   I   L   M   N   O   P   R   S   T   U   V   W   Z  
Index Entry  Section

(
(setf iterator-event): Private ordinary functions
(setf iterator-node): Private ordinary functions
(setf iterator-root): Private ordinary functions
(setf node-fence-info): Private generic functions
(setf node-fence-info): Private generic functions
(setf node-heading-level): Public generic functions
(setf node-heading-level): Public generic functions
(setf node-list-delim): Public generic functions
(setf node-list-delim): Public generic functions
(setf node-list-start): Public generic functions
(setf node-list-start): Public generic functions
(setf node-list-tight-p): Private generic functions
(setf node-list-tight-p): Private generic functions
(setf node-list-type): Public generic functions
(setf node-list-type): Public generic functions
(setf node-literal): Public generic functions
(setf node-literal): Public generic functions
(setf node-literal): Public generic functions
(setf node-literal): Public generic functions
(setf node-literal): Public generic functions
(setf node-literal): Public generic functions
(setf node-on-enter): Private generic functions
(setf node-on-enter): Private generic functions
(setf node-on-enter): Private generic functions
(setf node-on-exit): Private generic functions
(setf node-on-exit): Private generic functions
(setf node-on-exit): Private generic functions
(setf node-title): Public generic functions
(setf node-title): Public generic functions
(setf node-title): Public generic functions
(setf node-url): Public generic functions
(setf node-url): Public generic functions
(setf node-url): Public generic functions
(setf node-user-data): Private generic functions
(setf node-user-data): Private generic functions
(setf streaming-parser-exhausted-p): Private ordinary functions
(setf streaming-parser-foreign-parser): Private ordinary functions

A
append-child-node: Public ordinary functions

B
block-node-p: Public generic functions
block-node-p: Public generic functions
block-node-p: Public generic functions

C
childlessp: Public ordinary functions
close-streaming-parser: Public ordinary functions
consolidate-text-nodes: Public ordinary functions
consolidate-text-nodes: Public ordinary functions
copy-iterator: Private ordinary functions
copy-streaming-parser: Private ordinary functions

D
default-mem-allocator: Public ordinary functions
define-node-parser-method: Private macros
dump-tree: Private ordinary functions

F
feed-streaming-parser: Public ordinary functions
finish-streaming-parser: Public ordinary functions
free-iterator: Public ordinary functions
free-node: Public ordinary functions
free-parser: Public ordinary functions
Function, (setf iterator-event): Private ordinary functions
Function, (setf iterator-node): Private ordinary functions
Function, (setf iterator-root): Private ordinary functions
Function, (setf streaming-parser-exhausted-p): Private ordinary functions
Function, (setf streaming-parser-foreign-parser): Private ordinary functions
Function, append-child-node: Public ordinary functions
Function, childlessp: Public ordinary functions
Function, close-streaming-parser: Public ordinary functions
Function, consolidate-text-nodes: Public ordinary functions
Function, consolidate-text-nodes: Public ordinary functions
Function, copy-iterator: Private ordinary functions
Function, copy-streaming-parser: Private ordinary functions
Function, default-mem-allocator: Public ordinary functions
Function, dump-tree: Private ordinary functions
Function, feed-streaming-parser: Public ordinary functions
Function, finish-streaming-parser: Public ordinary functions
Function, free-iterator: Public ordinary functions
Function, free-node: Public ordinary functions
Function, free-parser: Public ordinary functions
Function, insert-after: Private ordinary functions
Function, insert-before: Private ordinary functions
Function, insert-node: Private ordinary functions
Function, insert-node-after: Public ordinary functions
Function, insert-node-before: Public ordinary functions
Function, iterator-advance: Public ordinary functions
Function, iterator-event: Private ordinary functions
Function, iterator-get-event-type: Public ordinary functions
Function, iterator-get-node: Public ordinary functions
Function, iterator-get-root: Public ordinary functions
Function, iterator-next: Public ordinary functions
Function, iterator-node: Private ordinary functions
Function, iterator-p: Private ordinary functions
Function, iterator-reset: Public ordinary functions
Function, iterator-reset: Public ordinary functions
Function, iterator-root: Private ordinary functions
Function, make-iterator: Public ordinary functions
Function, make-iterator: Public ordinary functions
Function, make-node: Public ordinary functions
Function, make-node-with-mem: Public ordinary functions
Function, make-parser: Public ordinary functions
Function, make-parser-with-mem: Public ordinary functions
Function, make-streaming-parser: Public ordinary functions
Function, markdown-to-html: Public ordinary functions
Function, node-append-child: Public ordinary functions
Function, node-first-child: Public ordinary functions
Function, node-first-child: Public ordinary functions
Function, node-from-foreign: Private ordinary functions
Function, node-get-end-column: Public ordinary functions
Function, node-get-end-line: Public ordinary functions
Function, node-get-fence-info: Public ordinary functions
Function, node-get-heading-level: Public ordinary functions
Function, node-get-list-delim: Public ordinary functions
Function, node-get-list-start: Public ordinary functions
Function, node-get-list-tight: Public ordinary functions
Function, node-get-list-type: Public ordinary functions
Function, node-get-literal: Public ordinary functions
Function, node-get-on-enter: Public ordinary functions
Function, node-get-on-exit: Public ordinary functions
Function, node-get-start-column: Public ordinary functions
Function, node-get-start-line: Public ordinary functions
Function, node-get-title: Public ordinary functions
Function, node-get-type: Public ordinary functions
Function, node-get-type-string: Public ordinary functions
Function, node-get-url: Public ordinary functions
Function, node-get-user-data: Public ordinary functions
Function, node-insert-after: Public ordinary functions
Function, node-insert-before: Public ordinary functions
Function, node-last-child: Public ordinary functions
Function, node-last-child: Public ordinary functions
Function, node-next: Public ordinary functions
Function, node-next: Public ordinary functions
Function, node-next-sibling: Public ordinary functions
Function, node-parent: Public ordinary functions
Function, node-prepend-child: Public ordinary functions
Function, node-previous: Public ordinary functions
Function, node-previous: Public ordinary functions
Function, node-previous-sibling: Public ordinary functions
Function, node-replace: Public ordinary functions
Function, node-set-fence-info: Public ordinary functions
Function, node-set-heading-level: Public ordinary functions
Function, node-set-list-delim: Public ordinary functions
Function, node-set-list-start: Public ordinary functions
Function, node-set-list-tight: Public ordinary functions
Function, node-set-list-type: Public ordinary functions
Function, node-set-literal: Public ordinary functions
Function, node-set-on-enter: Public ordinary functions
Function, node-set-on-exit: Public ordinary functions
Function, node-set-title: Public ordinary functions
Function, node-set-url: Public ordinary functions
Function, node-set-user-data: Public ordinary functions
Function, node-unlink: Public ordinary functions
Function, orphanp: Public ordinary functions
Function, parse-document: Public ordinary functions
Function, parse-document: Public ordinary functions
Function, parse-file: Public ordinary functions
Function, parse-stream: Public ordinary functions
Function, parse-tree: Private ordinary functions
Function, parser-feed: Public ordinary functions
Function, parser-finish: Public ordinary functions
Function, prepend-child-node: Public ordinary functions
Function, render-commonmark: Public ordinary functions
Function, render-html: Public ordinary functions
Function, render-latex: Public ordinary functions
Function, render-man: Public ordinary functions
Function, render-xml: Public ordinary functions
Function, replace-node: Public ordinary functions
Function, streaming-parser-exhausted-p: Private ordinary functions
Function, streaming-parser-foreign-parser: Private ordinary functions
Function, streaming-parser-p: Private ordinary functions
Function, string-octet-length: Private ordinary functions
Function, thing-to-gensym: Private ordinary functions
Function, unlink-node: Public ordinary functions
Function, version: Public ordinary functions
Function, version-string: Public ordinary functions
Function, walk-tree: Public ordinary functions
Function, which-child: Public ordinary functions
Function, zip: Private ordinary functions

G
Generic Function, (setf node-fence-info): Private generic functions
Generic Function, (setf node-heading-level): Public generic functions
Generic Function, (setf node-list-delim): Public generic functions
Generic Function, (setf node-list-start): Public generic functions
Generic Function, (setf node-list-tight-p): Private generic functions
Generic Function, (setf node-list-type): Public generic functions
Generic Function, (setf node-literal): Public generic functions
Generic Function, (setf node-on-enter): Private generic functions
Generic Function, (setf node-on-exit): Private generic functions
Generic Function, (setf node-title): Public generic functions
Generic Function, (setf node-url): Public generic functions
Generic Function, (setf node-user-data): Private generic functions
Generic Function, block-node-p: Public generic functions
Generic Function, inline-node-p: Public generic functions
Generic Function, leaf-node-p: Public generic functions
Generic Function, node-children: Public generic functions
Generic Function, node-end-column: Private generic functions
Generic Function, node-end-line: Private generic functions
Generic Function, node-fence-info: Private generic functions
Generic Function, node-heading-level: Public generic functions
Generic Function, node-list-delim: Public generic functions
Generic Function, node-list-start: Public generic functions
Generic Function, node-list-tight-p: Private generic functions
Generic Function, node-list-type: Public generic functions
Generic Function, node-literal: Public generic functions
Generic Function, node-on-enter: Private generic functions
Generic Function, node-on-exit: Private generic functions
Generic Function, node-parent: Public generic functions
Generic Function, node-start-column: Private generic functions
Generic Function, node-start-line: Private generic functions
Generic Function, node-title: Public generic functions
Generic Function, node-url: Public generic functions
Generic Function, node-user-data: Private generic functions
Generic Function, parse-node: Private generic functions

I
inline-node-p: Public generic functions
inline-node-p: Public generic functions
inline-node-p: Public generic functions
insert-after: Private ordinary functions
insert-before: Private ordinary functions
insert-node: Private ordinary functions
insert-node-after: Public ordinary functions
insert-node-before: Public ordinary functions
iterator-advance: Public ordinary functions
iterator-event: Private ordinary functions
iterator-get-event-type: Public ordinary functions
iterator-get-node: Public ordinary functions
iterator-get-root: Public ordinary functions
iterator-next: Public ordinary functions
iterator-node: Private ordinary functions
iterator-p: Private ordinary functions
iterator-reset: Public ordinary functions
iterator-reset: Public ordinary functions
iterator-root: Private ordinary functions

L
leaf-node-p: Public generic functions
leaf-node-p: Public generic functions
leaf-node-p: Public generic functions

M
Macro, define-node-parser-method: Private macros
Macro, with-streaming-parser: Public macros
make-iterator: Public ordinary functions
make-iterator: Public ordinary functions
make-node: Public ordinary functions
make-node-with-mem: Public ordinary functions
make-parser: Public ordinary functions
make-parser-with-mem: Public ordinary functions
make-streaming-parser: Public ordinary functions
markdown-to-html: Public ordinary functions
Method, (setf node-fence-info): Private generic functions
Method, (setf node-heading-level): Public generic functions
Method, (setf node-list-delim): Public generic functions
Method, (setf node-list-start): Public generic functions
Method, (setf node-list-tight-p): Private generic functions
Method, (setf node-list-type): Public generic functions
Method, (setf node-literal): Public generic functions
Method, (setf node-literal): Public generic functions
Method, (setf node-literal): Public generic functions
Method, (setf node-literal): Public generic functions
Method, (setf node-literal): Public generic functions
Method, (setf node-on-enter): Private generic functions
Method, (setf node-on-enter): Private generic functions
Method, (setf node-on-exit): Private generic functions
Method, (setf node-on-exit): Private generic functions
Method, (setf node-title): Public generic functions
Method, (setf node-title): Public generic functions
Method, (setf node-url): Public generic functions
Method, (setf node-url): Public generic functions
Method, (setf node-user-data): Private generic functions
Method, block-node-p: Public generic functions
Method, block-node-p: Public generic functions
Method, inline-node-p: Public generic functions
Method, inline-node-p: Public generic functions
Method, leaf-node-p: Public generic functions
Method, leaf-node-p: Public generic functions
Method, node-children: Public generic functions
Method, node-children: Public generic functions
Method, node-end-column: Private generic functions
Method, node-end-line: Private generic functions
Method, node-fence-info: Private generic functions
Method, node-heading-level: Public generic functions
Method, node-list-delim: Public generic functions
Method, node-list-start: Public generic functions
Method, node-list-tight-p: Private generic functions
Method, node-list-type: Public generic functions
Method, node-literal: Public generic functions
Method, node-literal: Public generic functions
Method, node-literal: Public generic functions
Method, node-literal: Public generic functions
Method, node-literal: Public generic functions
Method, node-on-enter: Private generic functions
Method, node-on-enter: Private generic functions
Method, node-on-exit: Private generic functions
Method, node-on-exit: Private generic functions
Method, node-parent: Public generic functions
Method, node-parent: Public generic functions
Method, node-start-column: Private generic functions
Method, node-start-line: Private generic functions
Method, node-title: Public generic functions
Method, node-title: Public generic functions
Method, node-url: Public generic functions
Method, node-url: Public generic functions
Method, node-user-data: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions
Method, parse-node: Private generic functions

N
node-append-child: Public ordinary functions
node-children: Public generic functions
node-children: Public generic functions
node-children: Public generic functions
node-end-column: Private generic functions
node-end-column: Private generic functions
node-end-line: Private generic functions
node-end-line: Private generic functions
node-fence-info: Private generic functions
node-fence-info: Private generic functions
node-first-child: Public ordinary functions
node-first-child: Public ordinary functions
node-from-foreign: Private ordinary functions
node-get-end-column: Public ordinary functions
node-get-end-line: Public ordinary functions
node-get-fence-info: Public ordinary functions
node-get-heading-level: Public ordinary functions
node-get-list-delim: Public ordinary functions
node-get-list-start: Public ordinary functions
node-get-list-tight: Public ordinary functions
node-get-list-type: Public ordinary functions
node-get-literal: Public ordinary functions
node-get-on-enter: Public ordinary functions
node-get-on-exit: Public ordinary functions
node-get-start-column: Public ordinary functions
node-get-start-line: Public ordinary functions
node-get-title: Public ordinary functions
node-get-type: Public ordinary functions
node-get-type-string: Public ordinary functions
node-get-url: Public ordinary functions
node-get-user-data: Public ordinary functions
node-heading-level: Public generic functions
node-heading-level: Public generic functions
node-insert-after: Public ordinary functions
node-insert-before: Public ordinary functions
node-last-child: Public ordinary functions
node-last-child: Public ordinary functions
node-list-delim: Public generic functions
node-list-delim: Public generic functions
node-list-start: Public generic functions
node-list-start: Public generic functions
node-list-tight-p: Private generic functions
node-list-tight-p: Private generic functions
node-list-type: Public generic functions
node-list-type: Public generic functions
node-literal: Public generic functions
node-literal: Public generic functions
node-literal: Public generic functions
node-literal: Public generic functions
node-literal: Public generic functions
node-literal: Public generic functions
node-next: Public ordinary functions
node-next: Public ordinary functions
node-next-sibling: Public ordinary functions
node-on-enter: Private generic functions
node-on-enter: Private generic functions
node-on-enter: Private generic functions
node-on-exit: Private generic functions
node-on-exit: Private generic functions
node-on-exit: Private generic functions
node-parent: Public ordinary functions
node-parent: Public generic functions
node-parent: Public generic functions
node-parent: Public generic functions
node-prepend-child: Public ordinary functions
node-previous: Public ordinary functions
node-previous: Public ordinary functions
node-previous-sibling: Public ordinary functions
node-replace: Public ordinary functions
node-set-fence-info: Public ordinary functions
node-set-heading-level: Public ordinary functions
node-set-list-delim: Public ordinary functions
node-set-list-start: Public ordinary functions
node-set-list-tight: Public ordinary functions
node-set-list-type: Public ordinary functions
node-set-literal: Public ordinary functions
node-set-on-enter: Public ordinary functions
node-set-on-exit: Public ordinary functions
node-set-title: Public ordinary functions
node-set-url: Public ordinary functions
node-set-user-data: Public ordinary functions
node-start-column: Private generic functions
node-start-column: Private generic functions
node-start-line: Private generic functions
node-start-line: Private generic functions
node-title: Public generic functions
node-title: Public generic functions
node-title: Public generic functions
node-unlink: Public ordinary functions
node-url: Public generic functions
node-url: Public generic functions
node-url: Public generic functions
node-user-data: Private generic functions
node-user-data: Private generic functions

O
orphanp: Public ordinary functions

P
parse-document: Public ordinary functions
parse-document: Public ordinary functions
parse-file: Public ordinary functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-node: Private generic functions
parse-stream: Public ordinary functions
parse-tree: Private ordinary functions
parser-feed: Public ordinary functions
parser-finish: Public ordinary functions
prepend-child-node: Public ordinary functions

R
render-commonmark: Public ordinary functions
render-html: Public ordinary functions
render-latex: Public ordinary functions
render-man: Public ordinary functions
render-xml: Public ordinary functions
replace-node: Public ordinary functions

S
streaming-parser-exhausted-p: Private ordinary functions
streaming-parser-foreign-parser: Private ordinary functions
streaming-parser-p: Private ordinary functions
string-octet-length: Private ordinary functions

T
thing-to-gensym: Private ordinary functions

U
unlink-node: Public ordinary functions

V
version: Public ordinary functions
version-string: Public ordinary functions

W
walk-tree: Public ordinary functions
which-child: Public ordinary functions
with-streaming-parser: Public macros

Z
zip: Private ordinary functions


A.3 Variables

Jump to:   *   +  
C   D   E   F   L   N   O   P   R   S   T   U  
Index Entry  Section

*
*foreign/native-nodes*: Private special variables
*node-common-fields*: Private special variables
*node-type-to-class*: Private special variables
*non-exit-nodes*: Private special variables

+
+cmark-opt-default+: Public constants
+cmark-opt-hardbreaks+: Public constants
+cmark-opt-nobreaks+: Public constants
+cmark-opt-normalize+: Public constants
+cmark-opt-safe+: Public constants
+cmark-opt-smart+: Public constants
+cmark-opt-sourcepos+: Public constants
+cmark-opt-unsafe+: Public constants
+cmark-opt-validate-utf8+: Public constants

C
children: Public classes
Constant, +cmark-opt-default+: Public constants
Constant, +cmark-opt-hardbreaks+: Public constants
Constant, +cmark-opt-nobreaks+: Public constants
Constant, +cmark-opt-normalize+: Public constants
Constant, +cmark-opt-safe+: Public constants
Constant, +cmark-opt-smart+: Public constants
Constant, +cmark-opt-sourcepos+: Public constants
Constant, +cmark-opt-unsafe+: Public constants
Constant, +cmark-opt-validate-utf8+: Public constants

D
delim: Public classes

E
end-column: Public classes
end-line: Public classes
event: Private structures
exhausted-p: Private structures

F
fence-info: Public classes
foreign-parser: Private structures

L
level: Public classes
literal: Public classes
literal: Public classes
literal: Public classes
literal: Public classes
literal: Public classes

N
node: Public conditions
node: Public conditions
node: Private structures

O
on-enter: Public classes
on-enter: Public classes
on-exit: Public classes
on-exit: Public classes

P
parent: Public classes
parser: Public conditions

R
root: Private structures

S
Slot, children: Public classes
Slot, delim: Public classes
Slot, end-column: Public classes
Slot, end-line: Public classes
Slot, event: Private structures
Slot, exhausted-p: Private structures
Slot, fence-info: Public classes
Slot, foreign-parser: Private structures
Slot, level: Public classes
Slot, literal: Public classes
Slot, literal: Public classes
Slot, literal: Public classes
Slot, literal: Public classes
Slot, literal: Public classes
Slot, node: Public conditions
Slot, node: Public conditions
Slot, node: Private structures
Slot, on-enter: Public classes
Slot, on-enter: Public classes
Slot, on-exit: Public classes
Slot, on-exit: Public classes
Slot, parent: Public classes
Slot, parser: Public conditions
Slot, root: Private structures
Slot, start: Public classes
Slot, start-column: Public classes
Slot, start-line: Public classes
Slot, string: Public conditions
Slot, tightp: Public classes
Slot, title: Public classes
Slot, title: Public classes
Slot, type: Public classes
Slot, url: Public classes
Slot, url: Public classes
Slot, user-data: Public classes
Special Variable, *foreign/native-nodes*: Private special variables
Special Variable, *node-common-fields*: Private special variables
Special Variable, *node-type-to-class*: Private special variables
Special Variable, *non-exit-nodes*: Private special variables
start: Public classes
start-column: Public classes
start-line: Public classes
string: Public conditions

T
tightp: Public classes
title: Public classes
title: Public classes
type: Public classes

U
url: Public classes
url: Public classes
user-data: Public classes


A.4 Data types

Jump to:   B   C   D   E   F   H   I   L   M   N   O   P   R   S   T   U   V  
Index Entry  Section

B
block-node: Private classes
block-quote-node: Public classes

C
child-node: Public classes
Class, block-node: Private classes
Class, block-quote-node: Public classes
Class, child-node: Public classes
Class, cmark-mem-tclass: Private classes
Class, code-block-node: Public classes
Class, code-node: Public classes
Class, custom-block-node: Public classes
Class, custom-inline-node: Public classes
Class, document-node: Public classes
Class, emph-node: Public classes
Class, heading-node: Public classes
Class, html-block-node: Public classes
Class, html-inline-node: Public classes
Class, image-node: Public classes
Class, inline-node: Private classes
Class, item-node: Public classes
Class, linebreak-node: Public classes
Class, link-node: Public classes
Class, list-node: Public classes
Class, node: Public classes
Class, paragraph-node: Public classes
Class, parent-node: Public classes
Class, softbreak-node: Public classes
Class, strong-node: Public classes
Class, text-node: Public classes
Class, thematic-break-node: Public classes
cmark: The cmark system
cmark: The cmark/src/cmark module
cmark: The cmark package
cmark-mem-tclass: Private classes
cmark.asd: The cmark/cmark․asd file
code-block-node: Public classes
code-node: Public classes
Condition, parser-exhausted: Public conditions
Condition, unexpected-orphan: Public conditions
Condition, unexpected-parent: Public conditions
conditions.lisp: The cmark/src/cmark/conditions․lisp file
custom-block-node: Public classes
custom-inline-node: Public classes

D
document-node: Public classes

E
emph-node: Public classes

F
File, cmark.asd: The cmark/cmark․asd file
File, conditions.lisp: The cmark/src/cmark/conditions․lisp file
File, from-foreign.lisp: The cmark/src/cmark/from-foreign․lisp file
File, iteration.lisp: The cmark/src/cmark/iteration․lisp file
File, iterator.lisp: The libcmark/src/libcmark/iterator․lisp file
File, libcmark.asd: The libcmark/libcmark․asd file
File, main.lisp: The libcmark/src/libcmark/main․lisp file
File, memory-allocator.lisp: The libcmark/src/libcmark/memory-allocator․lisp file
File, node-accessor.lisp: The libcmark/src/libcmark/node-accessor․lisp file
File, node-constructor.lisp: The libcmark/src/libcmark/node-constructor․lisp file
File, node.lisp: The cmark/src/cmark/node․lisp file
File, option.lisp: The libcmark/src/libcmark/option․lisp file
File, package.lisp: The cmark/src/cmark/package․lisp file
File, package.lisp: The libcmark/src/libcmark/package․lisp file
File, parsing.lisp: The cmark/src/cmark/parsing․lisp file
File, parsing.lisp: The libcmark/src/libcmark/parsing․lisp file
File, rendering.lisp: The libcmark/src/libcmark/rendering․lisp file
File, tree-manipulation.lisp: The cmark/src/cmark/tree-manipulation․lisp file
File, tree-manipulation.lisp: The libcmark/src/libcmark/tree-manipulation․lisp file
File, tree-traversal.lisp: The cmark/src/cmark/tree-traversal․lisp file
File, tree-traversal.lisp: The libcmark/src/libcmark/tree-traversal․lisp file
File, version.lisp: The libcmark/src/libcmark/version․lisp file
from-foreign.lisp: The cmark/src/cmark/from-foreign․lisp file

H
heading-node: Public classes
html-block-node: Public classes
html-inline-node: Public classes

I
image-node: Public classes
inline-node: Private classes
item-node: Public classes
iteration.lisp: The cmark/src/cmark/iteration․lisp file
iterator: Private structures
iterator.lisp: The libcmark/src/libcmark/iterator․lisp file

L
libcmark: The libcmark system
libcmark: The libcmark/src/libcmark module
libcmark: The libcmark package
libcmark.asd: The libcmark/libcmark․asd file
linebreak-node: Public classes
link-node: Public classes
list-node: Public classes

M
main.lisp: The libcmark/src/libcmark/main․lisp file
memory-allocator.lisp: The libcmark/src/libcmark/memory-allocator․lisp file
Module, cmark: The cmark/src/cmark module
Module, libcmark: The libcmark/src/libcmark module
Module, src: The cmark/src module
Module, src: The libcmark/src module

N
node: Public classes
node-accessor.lisp: The libcmark/src/libcmark/node-accessor․lisp file
node-constructor.lisp: The libcmark/src/libcmark/node-constructor․lisp file
node-event: Private types
node.lisp: The cmark/src/cmark/node․lisp file

O
option.lisp: The libcmark/src/libcmark/option․lisp file

P
Package, cmark: The cmark package
Package, libcmark: The libcmark package
package.lisp: The cmark/src/cmark/package․lisp file
package.lisp: The libcmark/src/libcmark/package․lisp file
paragraph-node: Public classes
parent-node: Public classes
parser-exhausted: Public conditions
parsing.lisp: The cmark/src/cmark/parsing․lisp file
parsing.lisp: The libcmark/src/libcmark/parsing․lisp file

R
rendering.lisp: The libcmark/src/libcmark/rendering․lisp file

S
softbreak-node: Public classes
src: The cmark/src module
src: The libcmark/src module
streaming-parser: Private structures
strong-node: Public classes
Structure, iterator: Private structures
Structure, streaming-parser: Private structures
System, cmark: The cmark system
System, libcmark: The libcmark system

T
text-node: Public classes
thematic-break-node: Public classes
tree-manipulation.lisp: The cmark/src/cmark/tree-manipulation․lisp file
tree-manipulation.lisp: The libcmark/src/libcmark/tree-manipulation․lisp file
tree-traversal.lisp: The cmark/src/cmark/tree-traversal․lisp file
tree-traversal.lisp: The libcmark/src/libcmark/tree-traversal․lisp file
Type, node-event: Private types

U
unexpected-orphan: Public conditions
unexpected-parent: Public conditions

V
version.lisp: The libcmark/src/libcmark/version․lisp file