Label using automatic numbering and explicit label names together.
The base type for all block level elements.
A container of other Block elements.
A generic container element containing a list of blocks.
The format of a bullet list item.
A bullet list that may contain nested lists.
A single bullet list item consisting of one or more block elements.
The table caption.
A single cell, potentially spanning multiple rows or columns, containing one or more block elements.
The cell type specifies which part of the table the cell belongs to.
A citation that can be referred to by a CitationLink
by id.
A resolved link to a citation.
A reference to a citation with a matching label.
A span of program code.
A block of program code.
The options (like styles) for a column table.
Contains the (optional) column specification of a table.
A comment that may be omitted by renderers.
A single configuration value to be merged with the top document config.
A generic container.
A link element pointing to a location in a different document, with the span content representing the text (description) of the link.
An element that can be customized.
A decorated header where the level gets determined in the rewrite phase based on the decoration used and the order they appear in the document.
Represents a definition that can be used to resolve references.
A list of terms and their definitions.
A single definition item, containing the term and definition (as the content property).
A named document fragment that usually gets rendered separately from the main root element
The base class for all Elements forming the document tree.
A generic container of other elements.
A span of emphasized inline elements that may contain nested spans.
The format of enumerated list items.
An enumerated list that may contain nested lists.
A single enum list item consisting of one or more block elements.
Represents the type of an ordered list.
An external link element, with the span content representing the text (description) of the link.
An external link target, usually only part of the raw document tree and then removed by the rewrite rule that resolves link and image references.
Provides a fallback for elements the renderer does not know how to deal with.
A figure consists of an image, an optional caption, and an optional legend as the content
property.
A footnote with resolved id and label that can be referred to by a FootnoteLink
by id.
A footnote definition that needs to be resolved to a final footnote by a rewrite rule based on the label type.
Base type for all types of footnote labels.
A resolved link to a footnote.
A reference to a footnote with a matching label.
A special type of paragraph that serves as a render hint.
A header element with a level, with 1 being the top level of the document.
Represents the decoration of a header.
An inline image with a text description and optional title.
An image reference, the id pointing to the id of a LinkTarget
.
An internal link element, with the span content representing the text (description) of the link.
Points to the following block or span element, making it a target for links.
Represents an invalid element.
Groups a block that could not be successfully parsed with a system message.
Groups a span that could not be successfully parsed with a system message.
A single line inside a line block.
A block containing lines which preserve line breaks and optionally nested line blocks.
A single item inside a line block.
An explicit hard line break.
The base type for all link elements.
A link target pointing to another link target, acting like an alias.
A link reference, the id pointing to the id of a LinkTarget
.
The base type for all link targets.
A container of list items.
The base type for all list items.
A span containing plain, unparsed text.
A literal block with unparsed text content.
Signals the severity of a system message.
Explicit numeric label.
Options for customizable elements.
A paragraph consisting of span elements.
A literal block with parsed text content.
Represents a single path in absolute and relative form.
A quoted block consisting of a list of blocks that may contain other nested quoted blocks and an attribution which may be empty.
Raw content that is usually specific to the specified output formats.
The base type for all reference elements.
The root element of a document tree.
A single table row.
A horizontal rule.
A section of the document, consisting of a header and content in the form of a list of Block elements.
Options
implementation for non-empty instances.
The base type for all inline elements.
A container of other Span elements.
A generic container element containing a list of spans.
Bullet format based on a simple string.
A span of strong inline elements that may contain nested spans.
Message generated by the parser, usually to signal potential parsing problems.
A table consisting of a head and a body part and optional caption and column specification.
Contains the body rows of a table.
A container of table elements.
A table element, like a row, cell or column.
Contains the header rows of a table.
Represents a temporary element only present in the raw document tree and then removed or replaced by a rewrite rule before rendering.
A simple text element.
A container for plain text.
Generic block element with a title.
Arabic enumeration style (1, 2, 3.
Label with automatic numbering.
Label with automatic symbol assignment.
A cell in the body part of the table.
Convenient factory for creating a Columns
instance based on the options
for the individual columns.
Debugging information that does not have any effect on the parser result.
A major issue that should be addressed, if ignored, the output will contain unpredictable errors.
A critical error that must be addressed, if ignored, the output will contain severe errors.
A cell in the head part of the table.
Factory and extractor for an Options
instance
with an id.
A minor issue that has very little or no effect on the parser result.
Lowercase letter enumeration style (a, b, c.
Lowercase Roman numeral enumeration style (i, ii, iii, iv.
Empty Options
implementation.
Companion for the Options trait.
Factory and extractor for an Options
instance
with style names.
Uppercase letter enumeration style (A, B, C.
Uppercase Roman numeral enumeration style (I, II, III, IV.
An issue that should be addressed, if ignored, there may be minor problems with the output.
Provides the elements of the document tree. The model is generic and not tied to any specific markup syntax like Markdown. Parsers may only support a subset of the provided element types in case the markup does not have matching syntax for some of them.
The abstract base classes are not sealed as the tree model is extensible. Renderers should anticipate unknown elements and add fallback rules for those.
The base class is
Element
which extendsProduct
, a constraint usually satisfied through defining the concrete types as case classes. Most concrete types are not expected to extendElement
directly though, but instead extend eitherBlock
orSpan
, the two major element types. This way they may be part of the content ofSpanContainer
orBlockContainer
types, traits that any element may mix in.