#[non_exhaustive]pub enum DelimitedBlockType<'a> {
DelimitedComment(Vec<InlineNode<'a>>),
DelimitedExample(Vec<Block<'a>>),
DelimitedListing(Vec<InlineNode<'a>>),
DelimitedLiteral(Vec<InlineNode<'a>>),
DelimitedOpen(Vec<Block<'a>>),
DelimitedSidebar(Vec<Block<'a>>),
DelimitedTable(Table<'a>),
DelimitedPass(Vec<InlineNode<'a>>),
DelimitedQuote(Vec<Block<'a>>),
DelimitedVerse(Vec<InlineNode<'a>>),
DelimitedStem(StemContent<'a>),
}Expand description
The inner content type of a delimited block.
Each variant wraps the content appropriate for that block type:
- Verbatim content (
Vec<InlineNode>):DelimitedListing,DelimitedLiteral,DelimitedPass,DelimitedVerse,DelimitedComment- preserves whitespace/formatting - Compound content (
Vec<Block>):DelimitedExample,DelimitedOpen,DelimitedSidebar,DelimitedQuote- can contain nested blocks - Structured content:
DelimitedTable(Table),DelimitedStem(StemContent)
§Accessing Content
Use pattern matching to extract the inner content:
fn process_block(block_type: &DelimitedBlockType) {
match block_type {
DelimitedBlockType::DelimitedListing(inlines) => {
// Handle listing content (source code, etc.)
}
DelimitedBlockType::DelimitedExample(blocks) => {
// Handle example with nested blocks
}
DelimitedBlockType::DelimitedTable(table) => {
// Access table.rows, table.header, etc.
}
// ... other variants
_ => {}
}
}§Note on Variant Names
Variants are prefixed with Delimited to disambiguate from potential future
non-delimited block types and to make pattern matching more explicit.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DelimitedComment(Vec<InlineNode<'a>>)
Comment block content (not rendered in output).
DelimitedExample(Vec<Block<'a>>)
Example block - can contain nested blocks, admonitions, etc.
DelimitedListing(Vec<InlineNode<'a>>)
Listing block - typically source code with syntax highlighting.
DelimitedLiteral(Vec<InlineNode<'a>>)
Literal block - preformatted text rendered verbatim.
DelimitedOpen(Vec<Block<'a>>)
Open block - generic container for nested blocks.
DelimitedSidebar(Vec<Block<'a>>)
Sidebar block - supplementary content in a styled container.
DelimitedTable(Table<'a>)
Table block - structured tabular data.
DelimitedPass(Vec<InlineNode<'a>>)
Passthrough block - content passed directly to output without processing.
DelimitedQuote(Vec<Block<'a>>)
Quote block - blockquote with optional attribution.
DelimitedVerse(Vec<InlineNode<'a>>)
Verse block - poetry/lyrics preserving line breaks.
DelimitedStem(StemContent<'a>)
STEM (math) block - LaTeX or AsciiMath notation.
Trait Implementations§
Source§impl<'a> Clone for DelimitedBlockType<'a>
impl<'a> Clone for DelimitedBlockType<'a>
Source§fn clone(&self) -> DelimitedBlockType<'a>
fn clone(&self) -> DelimitedBlockType<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more