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}