Skip to main content

use_markdown/
outline.rs

1use crate::heading::{MarkdownHeading, extract_headings};
2
3/// A simple heading outline for a Markdown document.
4#[derive(Clone, Debug, Default, Eq, PartialEq)]
5pub struct MarkdownOutline {
6    /// The headings found in document order.
7    pub headings: Vec<MarkdownHeading>,
8}
9
10/// Extracts a lightweight document outline from headings.
11pub fn extract_outline(markdown: &str) -> MarkdownOutline {
12    MarkdownOutline {
13        headings: extract_headings(markdown),
14    }
15}