pub enum Block<T = ()> {
Paragraph {
content: Vec<Inline<T>>,
user_data: T,
},
Heading(Heading<T>),
ThematicBreak {
user_data: T,
},
BlockQuote {
blocks: Vec<Block<T>>,
user_data: T,
},
List(List<T>),
CodeBlock(CodeBlock<T>),
HtmlBlock {
content: String,
user_data: T,
},
Definition(LinkDefinition<T>),
Table(Table<T>),
FootnoteDefinition(FootnoteDefinition<T>),
GitHubAlert(GitHubAlertNode<T>),
Empty {
user_data: T,
},
}Expand description
Block‑level constructs in the order they appear in the CommonMark spec.
Variants§
Paragraph
Ordinary paragraph
Heading(Heading<T>)
ATX (# Heading) or Setext (===) heading
ThematicBreak
Thematic break (horizontal rule)
Fields
§
user_data: TBlockQuote
Block quote
List(List<T>)
List (bullet or ordered)
CodeBlock(CodeBlock<T>)
Fenced or indented code block
HtmlBlock
Raw HTML block
Definition(LinkDefinition<T>)
Link reference definition. Preserved for round‑tripping.
Table(Table<T>)
Tables
FootnoteDefinition(FootnoteDefinition<T>)
Footnote definition
GitHubAlert(GitHubAlertNode<T>)
GitHub alert block (NOTE, TIP, IMPORTANT, WARNING, CAUTION)
Empty
Empty block. This is used to represent skipped blocks in the AST.
Fields
§
user_data: TTrait Implementations§
Source§impl<'de, T> Deserialize<'de> for Block<T>where
T: Deserialize<'de> + Default,
impl<'de, T> Deserialize<'de> for Block<T>where
T: Deserialize<'de> + Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> GenericExpandWith<T> for Block<T>
impl<T> GenericExpandWith<T> for Block<T>
Source§fn expand_with<Tr: GenericTransformer<T>>(
self,
transformer: &mut Tr,
) -> Vec<Self>
fn expand_with<Tr: GenericTransformer<T>>( self, transformer: &mut Tr, ) -> Vec<Self>
Apply a generic expandable transformer to this AST node, returning multiple nodes
Source§impl<T> GenericTransformWith<T> for Block<T>
impl<T> GenericTransformWith<T> for Block<T>
Source§fn transform_with<Tr: GenericTransformer<T>>(self, transformer: &mut Tr) -> Self
fn transform_with<Tr: GenericTransformer<T>>(self, transformer: &mut Tr) -> Self
Apply a generic transformer to this AST node
Source§impl<T> StripData<T> for Block<T>
impl<T> StripData<T> for Block<T>
Source§type StrippedType = Block
type StrippedType = Block
The type without user data
Source§fn strip_data(self) -> Self::StrippedType
fn strip_data(self) -> Self::StrippedType
Remove user data from this AST node
impl<T> StructuralPartialEq for Block<T>
Auto Trait Implementations§
impl<T> Freeze for Block<T>where
T: Freeze,
impl<T> RefUnwindSafe for Block<T>where
T: RefUnwindSafe,
impl<T> Send for Block<T>where
T: Send,
impl<T> Sync for Block<T>where
T: Sync,
impl<T> Unpin for Block<T>where
T: Unpin,
impl<T> UnwindSafe for Block<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more