Enum Tag

Source
pub enum Tag<'a> {
Show 23 variants Paragraph, Heading { level: HeadingLevel, id: Option<CowStr<'a>>, classes: Vec<CowStr<'a>>, attrs: Vec<(CowStr<'a>, Option<CowStr<'a>>)>, }, BlockQuote(Option<BlockQuoteKind>), CodeBlock(CodeBlockKind<'a>), HtmlBlock, List(Option<u64>), Item, FootnoteDefinition(CowStr<'a>), DefinitionList, DefinitionListTitle, DefinitionListDefinition, Table(Vec<Alignment>), TableHead, TableRow, TableCell, Emphasis, Strong, Strikethrough, Superscript, Subscript, Link { link_type: LinkType, dest_url: CowStr<'a>, title: CowStr<'a>, id: CowStr<'a>, }, Image { link_type: LinkType, dest_url: CowStr<'a>, title: CowStr<'a>, id: CowStr<'a>, }, MetadataBlock(MetadataBlockKind),
}
Expand description

Tags for elements that can contain other elements.

Variants§

§

Paragraph

A paragraph of text and other inline elements.

§

Heading

A heading, with optional identifier, classes and custom attributes. The identifier is prefixed with # and the last one in the attributes list is chosen, classes are prefixed with . and custom attributes have no prefix and can optionally have a value (myattr or myattr=myvalue).

id, classes and attrs are only parsed and populated with Options::ENABLE_HEADING_ATTRIBUTES, None or empty otherwise.

Fields

§id: Option<CowStr<'a>>
§classes: Vec<CowStr<'a>>
§attrs: Vec<(CowStr<'a>, Option<CowStr<'a>>)>

The first item of the tuple is the attr and second one the value.

§

BlockQuote(Option<BlockQuoteKind>)

A block quote.

The BlockQuoteKind is only parsed & populated with Options::ENABLE_GFM, None otherwise.

> regular quote

> [!NOTE]
> note quote
§

CodeBlock(CodeBlockKind<'a>)

A code block.

§

HtmlBlock

An HTML block.

A line that begins with some predefined tags (HTML block tags) (see CommonMark Spec for more details) or any tag that is followed only by whitespace.

Most HTML blocks end on an empty line, though some e.g. <pre> like <script> or <!-- Comments --> don’t.

<body> Is HTML block even though here is non-whitespace.
Block ends on an empty line.

<some-random-tag>
This is HTML block.

<pre> Doesn't end on empty lines.

This is still the same block.</pre>
§

List(Option<u64>)

A list. If the list is ordered the field indicates the number of the first item. Contains only list items.

§

Item

A list item.

§

FootnoteDefinition(CowStr<'a>)

A footnote definition. The value contained is the footnote’s label by which it can be referred to.

Only parsed and emitted with Options::ENABLE_FOOTNOTES or Options::ENABLE_OLD_FOOTNOTES.

§

DefinitionList

Only parsed and emitted with Options::ENABLE_DEFINITION_LIST.

§

DefinitionListTitle

Only parsed and emitted with Options::ENABLE_DEFINITION_LIST.

§

DefinitionListDefinition

Only parsed and emitted with Options::ENABLE_DEFINITION_LIST.

§

Table(Vec<Alignment>)

A table. Contains a vector describing the text-alignment for each of its columns. Only parsed and emitted with Options::ENABLE_TABLES.

§

TableHead

A table header. Contains only TableCells. Note that the table body starts immediately after the closure of the TableHead tag. There is no TableBody tag. Only parsed and emitted with Options::ENABLE_TABLES.

§

TableRow

A table row. Is used both for header rows as body rows. Contains only TableCells. Only parsed and emitted with Options::ENABLE_TABLES.

§

TableCell

Only parsed and emitted with Options::ENABLE_TABLES.

§

Emphasis

Emphasis.

half*emph* _strong_ _multi _level__
§

Strong

Strong emphasis.

half**strong** __strong__ __multi __level____
§

Strikethrough

Only parsed and emitted with Options::ENABLE_STRIKETHROUGH.

~strike through~
§

Superscript

Only parsed and emitted with Options::ENABLE_SUPERSCRIPT.

^superscript^
§

Subscript

Only parsed and emitted with Options::ENABLE_SUBSCRIPT, if disabled ~something~ is parsed as Strikethrough.

~subscript~ ~~if also enabled this is strikethrough~~

A link.

Fields

§link_type: LinkType
§dest_url: CowStr<'a>
§title: CowStr<'a>
§id: CowStr<'a>

Identifier of reference links, e.g. world in the link [hello][world].

§

Image

An image. The first field is the link type, the second the destination URL and the third is a title, the fourth is the link identifier.

Fields

§link_type: LinkType
§dest_url: CowStr<'a>
§title: CowStr<'a>
§id: CowStr<'a>

Identifier of reference links, e.g. world in the link [hello][world].

§

MetadataBlock(MetadataBlockKind)

Implementations§

Source§

impl<'a> Tag<'a>

Source

pub fn to_end(&self) -> TagEnd

Source

pub fn into_static(self) -> Tag<'static>

Trait Implementations§

Source§

impl<'a> Clone for Tag<'a>

Source§

fn clone(&self) -> Tag<'a>

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<'a> Debug for Tag<'a>

Source§

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

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

impl<'a> From<Tag<'a>> for TagEnd

Source§

fn from(value: Tag<'_>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PartialEq for Tag<'a>

Source§

fn eq(&self, other: &Tag<'a>) -> 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<'a> StructuralPartialEq for Tag<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Tag<'a>

§

impl<'a> RefUnwindSafe for Tag<'a>

§

impl<'a> Send for Tag<'a>

§

impl<'a> Sync for Tag<'a>

§

impl<'a> Unpin for Tag<'a>

§

impl<'a> UnwindSafe for Tag<'a>

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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, 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.