pub enum Block {
Show 15 variants
Heading {
level: u8,
lemma: String,
},
Paragraph {
text: String,
},
Text {
text: String,
},
Open {
kind: Container,
lemma: Option<String>,
},
Close {
hypograph: Option<String>,
},
Verbatim {
lang: Option<String>,
text: String,
},
NoteRef {
onym: String,
family: Option<NoteFamily>,
margin: bool,
},
IndexMark {
term: String,
},
Ref {
target: String,
text: Option<String>,
internal: bool,
},
Anchor {
onym: String,
},
Cite {
target: String,
},
Bib {
key: String,
text: String,
fields: Vec<(String, String)>,
genus: Option<String>,
},
Label {
onym: String,
},
Verse {
lemma: Option<String>,
strophes: Vec<Vec<String>>,
hypograph: Option<String>,
},
Table {
lemma: Option<String>,
headers: Option<Vec<String>>,
rows: Vec<Vec<Cell>>,
},
}Expand description
A block-level event in the text-level vocabulary — what a format adapter emits. Headings arrive flat; the section tree is derived here, once, for every adapter.
Variants§
Heading
A flat heading: level is the source level (h2 → 2, a
LaTeX \section → its depth), lemma its text.
Paragraph
A plain paragraph — the implicit, lemma-less block.
Text
Inline content belonging directly to the open container (a list item’s own text, a bare-text blockquote). With no open container it is read as a paragraph.
Open
Open a nesting container. Items take their unordered- /
ordered- flavor (and taxis) from the enclosing list.
Close
Close the innermost open container, optionally with its hypograph (footer or attribution).
Verbatim
A verbatim block — code or other preformatted lines, kept as authored.
NoteRef
An in-text note callout (the deixis, ruling #35): onym
names the body it cites within its family. Emitted after
the flow block it sits in; it becomes that block’s child,
in order, and the block’s own text stays clean of markers.
family: None means the source declares none (an HTML
noteref): the callout takes its resolved body’s family,
and a dangling one defaults to footnote.
Fields
family: Option<NoteFamily>IndexMark
An index mark (ruling #36): an invisible anchor declaring
this place concerns term. The back-of-book index is a
query over these, never a stored structure.
Ref
A reference mark — the text-level mention (html’s in-prose
<a href>, markdown’s [text](url), LaTeX’s \ref):
target is the identifier as written, text the authored
link text (LaTeX \ref has none), and internal is the
producer’s declaration that the target names a label in
this document (#fragment, a \ref key) rather than
another document. A mention, not an attachment: refs do
not carry <deixis>.
Anchor
A point anchor — an invisible in-flow node bearing an
onym at this position (LaTeX’s mid-flow \label, an
inline html id=). The IndexMark construction: child of
its flow block, document order.
Cite
A citation mark — the bibliography’s mention (LaTeX’s
\cite, koine’s cite monosim): target is the authored
key, resolved against the bib bearers — a namespace of
its own, separate from labels (LaTeX precedent).
Bib
One bibliographic entry: a block bearing its authored
key. Unstructured sources (\bibitem) carry the full
reference as text; structured ones (bibliogramma,
BibTeX/BibLaTeX through it) carry fields — canonical
campus name → value, Latin per the bibliogramma
vocabulary — and the entry’s genus (liber,
commentarius, …).
Label
A block label: the innermost open section takes onym as
the name it bears (a heading’s id; a \label attached
to a sectioning command — the promotion rule). With no
open section it degrades to a point Block::Anchor.
Verse
A verse block (ruling #37 — litogramma’s stichoi model):
strophes of lines, denormalized like Block::Table.
Lines arrive flattened by the adapter and are kept as
authored; the stichos ::taxis numbers lines 1-based,
CONTINUOUSLY across strophes — the citation coordinate.
Table
A table, denormalized here into nested lists (rows =
ordered items with the <row> trait, cells = unordered
items with the <cell> trait and the column name as
::lemma). Header detection is the adapter’s job; the
lowering rule lives here. A cell’s own label (a row’s
th) wins over the positional headers entry.