Enum NodeValue
pub enum NodeValue
The core AST node enum.
Variants
-
Document The root of every CommonMark document. Contains blocks.
-
FrontMatter(String) Non-Markdown front matter. Treated as an opaque blob.
-
BlockQuote Block. A block quote. Contains other blocks.
-
List(NodeList) Block. A list. Contains list items.
* * 1. 2.-
Item(NodeList) Block. A list item. Contains other blocks.
-
DescriptionList Block. A description list, enabled with
ext_description_listsoption. Contains description items.It is required to put a blank line between terms and details.
-
DescriptionItem(NodeDescriptionItem) Block*. An item of a description list. Contains a term and one details block.
-
DescriptionTerm Block. Term of an item in a definition list.
-
DescriptionDetails Block. Details of an item in a definition list.
-
CodeBlock(Box<NodeCodeBlock>) Block. A code block; may be fenced or indented. Contains raw text which is not parsed as Markdown, although is HTML escaped.
-
HtmlBlock(NodeHtmlBlock) Block. A HTML block. Contains raw text which is neither parsed as Markdown nor HTML escaped.
-
Paragraph Block. A paragraph. Contains inlines.
-
Heading(NodeHeading) Block. A heading; may be an ATX heading or a setext heading. Contains inlines.
-
ThematicBreak Block. A thematic break. Has no children.
-
FootnoteDefinition(NodeFootnoteDefinition) Block. A footnote definition. The
Stringis the footnote's name. Contains other blocks.-
Table(Box<NodeTable>) Block. A table per the GFM spec. Contains table rows.
-
TableRow(bool) Block. A table row. The
boolrepresents whether the row is the header row or not. Contains table cells.-
TableCell Block. A table cell. Contains inlines.
-
Text(Cow<'static, str>) Inline. Textual content. All text in a document will be contained in a
Textnode.-
TaskItem(NodeTaskItem) Block. Task list item. The value is the symbol that was used in the brackets to mark a task item as checked, or
Noneif the item is unchecked.-
SoftBreak Inline. A soft line break. If the
hardbreaksoption is set inOptionsduring formatting, it will be formatted as aLineBreak.-
LineBreak Inline. A hard line break.
-
Code(NodeCode) Inline. A code span.
-
HtmlInline(String) Inline. Raw HTML contained inline.
-
Raw(String) Block/Inline. A Raw output node. This will be inserted verbatim into CommonMark and HTML output. It can only be created programmatically, and is never parsed from input.
-
Emph Inline. Emphasized text.
-
Strong Inline. Strong text.
-
Strikethrough Inline. Strikethrough text per the GFM spec.
-
Highlight *Inline. Highlight / mark text
-
Insert Inline. Inserted text, rendered as
<ins>.-
Superscript Inline. Superscript. Enabled with
ext_superscriptoption.-
Link(Box<NodeLink>) Inline. A link to some URL, with possible title.
-
Image(Box<NodeLink>) Inline. An image.
-
FootnoteReference(Box<NodeFootnoteReference>) Inline. A footnote reference.
-
Math(NodeMath) Inline. A math span. Contains raw text which is not parsed as Markdown. Dollar math or code math
Inline math $1 + 2$ and $
1 + 2$Display math $$1 + 2$$ and $$ 1 + 2 $$
-
MultilineBlockQuote(NodeMultilineBlockQuote) Block. A multiline block quote. Spans multiple lines and contains other blocks.
- --
Escaped Inline. A character that has been escaped
Included in the document tree only if the
escaped_char_spansparse option and/or render option is enabled.If the render option is enabled, these are wrapped in distinct
<span>tags in output HTML and XML.-
WikiLink(NodeWikiLink) Inline. A wikilink to some URL.
-
Underline Inline. Underline. Enabled with
underlineoption.-
Subscript Inline. Subscript. Enabled with
subscriptoptions.-
SpoileredText Inline. Spoilered text. Enabled with
spoileroption.-
EscapedTag(&'static str) Inline. Text surrounded by escaped markup. Enabled with
spoileroption. The&'static stris the tag to be escaped.-
Alert(Box<NodeAlert>) Block. GitHub style alert boxes which uses a modified blockquote syntax. Enabled with the
alertsoption.-
Subtext Block. Block scoped subscript that acts similar to a header. Enabled with
subtextoption.-
BlockDirective(Box<NodeBlockDirective>) Block. A container directive block which can be used for custom extensions. Contains other blocks.
- -
Implementations
impl NodeValue
fn block(&self) -> boolIndicates whether this node is a block node or inline node.
fn contains_inlines(&self) -> boolWhether the type the node is of can contain inline nodes.
fn text(&self) -> Option<&str>Return a reference to the text of a
Textinline, if this node is one.Convenience method.
fn text_mut(&mut self) -> Option<&mut Cow<'static, str>>Return a mutable reference to the text of a
Textinline, if this node is one.Convenience method.
fn xml_node_name(&self) -> &'static strReturns the name this kind of node gets in an XML document. Follows the CommonMark DTD for nodes from the spec, otherwise we just vibe in a stable way.
Trait Implementations
impl Clone for NodeValue
fn clone(&self) -> NodeValue
impl Debug for NodeValue
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Eq for NodeValue
impl PartialEq for NodeValue
fn eq(&self, other: &NodeValue) -> bool
impl StructuralPartialEq for NodeValue
Auto Trait Implementations
impl Freeze for NodeValue
impl RefUnwindSafe for NodeValue
impl Send for NodeValue
impl Sync for NodeValue
impl Unpin for NodeValue
impl UnsafeUnpin for NodeValue
impl UnwindSafe for NodeValue
Blanket Implementations
impl<T> Any for NodeValue
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for NodeValue
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for NodeValue
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for NodeValue
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for NodeValue
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for NodeValue
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for NodeValue
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for NodeValue
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for NodeValue
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>