Enum Node

Source
pub enum Node {
Show 21 variants Document(Vec<Node>), Heading { level: u8, content: Vec<Node>, }, Paragraph(Vec<Node>), BlockQuote(Vec<Node>), CodeBlock { language: Option<String>, content: String, }, UnorderedList(Vec<ListItem>), OrderedList { start: u32, items: Vec<ListItem>, }, ThematicBreak, Table { headers: Vec<Node>, rows: Vec<Vec<Node>>, alignments: Vec<Alignment>, }, HtmlBlock(String), Text(String), Emphasis(Vec<Node>), Strong(Vec<Node>), Strike(Vec<Node>), InlineCode(String), Link { url: String, title: Option<String>, content: Vec<Node>, }, Image { url: String, title: Option<String>, alt: Vec<Node>, }, InlineContainer(Vec<Node>), HtmlElement(HtmlElement), SoftBreak, HardBreak,
}
Expand description

Main node type, representing an element in a CommonMark document

Variants§

§

Document(Vec<Node>)

Root document node, contains child nodes

§

Heading

Heading, contains level (1-6) and inline content

Fields

§level: u8

Heading level, 1-6

§content: Vec<Node>

Heading content, containing inline elements

§

Paragraph(Vec<Node>)

Paragraph node, containing inline elements

§

BlockQuote(Vec<Node>)

Block quote, containing any block-level elements

§

CodeBlock

Code block, containing optional language identifier and content

Fields

§language: Option<String>

Optional language identifier

§content: String

Code content

§

UnorderedList(Vec<ListItem>)

Unordered list, containing list items

§

OrderedList

Ordered list, containing starting number and list items

Fields

§start: u32

List starting number

§items: Vec<ListItem>

List items

§

ThematicBreak

Thematic break (horizontal rule)

§

Table

Table

Fields

§headers: Vec<Node>

Header cells

§rows: Vec<Vec<Node>>

Table rows, each row containing multiple cells

§alignments: Vec<Alignment>

Column alignments

§

HtmlBlock(String)

HTML block

§

Text(String)

Plain text

§

Emphasis(Vec<Node>)

Emphasis (italic)

§

Strong(Vec<Node>)

Strong emphasis (bold)

§

Strike(Vec<Node>)

Strikethrough

§

InlineCode(String)

Inline code

Link

Fields

§url: String

Link URL

§title: Option<String>

Optional link title

§content: Vec<Node>

Link text

§

Image

Image

Fields

§url: String

Image URL

§title: Option<String>

Optional image title

§alt: Vec<Node>

Alternative text, containing inline elements

§

InlineContainer(Vec<Node>)

Inline element collection, without formatting and line breaks

§

HtmlElement(HtmlElement)

HTML inline element

§

SoftBreak

Soft break (single line break)

§

HardBreak

Hard break (two spaces followed by a line break, or backslash followed by a line break)

Implementations§

Source§

impl Node

Source

pub fn is_block(&self) -> bool

Check if a node is a block-level node

Source

pub fn is_inline(&self) -> bool

Check if a node is an inline node

Trait Implementations§

Source§

impl Clone for Node

Source§

fn clone(&self) -> Node

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Node

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Node

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Node

Source§

fn eq(&self, other: &Node) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Node

Auto Trait Implementations§

§

impl Freeze for Node

§

impl RefUnwindSafe for Node

§

impl Send for Node

§

impl Sync for Node

§

impl Unpin for Node

§

impl UnwindSafe for Node

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.