[][src]Struct pulldown_cmark_toc::TableOfContents

pub struct TableOfContents<'a> { /* fields omitted */ }

Represents a Table of Contents.

Implementations

impl<'a> TableOfContents<'a>[src]

pub fn new(text: &'a str) -> Self[src]

Construct a new table of contents from Markdown text.

Examples

let toc = TableOfContents::new("# Heading\n");

pub fn new_with_events<I, E>(events: I) -> Self where
    I: Iterator<Item = E>,
    E: Borrow<Event<'a>>, 
[src]

Construct a new table of contents from parsed Markdown events.

Examples

use pulldown_cmark::Parser;

let parser = Parser::new("# Heading\n");
let toc = TableOfContents::new_with_events(parser);;

pub fn headings(&self) -> Iter<Heading>[src]

Iterate over the headings in this table of contents.

Examples

Simple iteration over each heading.

let toc = TableOfContents::new("# Heading\n");

for heading in toc.headings() {
    // use heading
}

Filtering out certain heading levels.

let toc = TableOfContents::new("# Heading\n## Subheading\n");

for heading in toc.headings().filter(|h| (2..6).contains(h.level())) {
    // use heading
}

#[must_use]pub fn to_cmark(&self) -> String[src]

Render the table of contents as Markdown.

Examples

let toc = TableOfContents::new("# Heading\n## Subheading\n");
assert_eq!(
    toc.to_cmark(),
    "- [Heading](#heading)\n  - [Subheading](#subheading)\n"
);

#[must_use]pub fn to_cmark_with_options(&self, options: Options) -> String[src]

Render the table of contents as Markdown with extra options.

Examples

let toc = TableOfContents::new("# Heading\n## Subheading\n");
let options = Options::default()
    .item_symbol(ItemSymbol::Asterisk)
    .levels(2..=6)
    .indent(4);
assert_eq!(
    toc.to_cmark_with_options(options),
    "* [Subheading](#subheading)\n"
);

Trait Implementations

impl<'a> Debug for TableOfContents<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for TableOfContents<'a>

impl<'a> Send for TableOfContents<'a>

impl<'a> Sync for TableOfContents<'a>

impl<'a> Unpin for TableOfContents<'a>

impl<'a> UnwindSafe for TableOfContents<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.