sync_readme/content/rustdoc/
heading.rs

1use pulldown_cmark::{Event, Tag, TagEnd};
2
3pub(super) fn convert<'a, 'b>(events: impl IntoIterator<Item = Event<'a>> + 'b) -> impl Iterator<Item = Event<'a>> + 'b {
4    use pulldown_cmark::HeadingLevel::*;
5    events.into_iter().map(|mut event| {
6        match &mut event {
7            Event::Start(Tag::Heading { level, .. }) | Event::End(TagEnd::Heading(level)) => {
8                *level = match level {
9                    H1 => H2,
10                    H2 => H3,
11                    H3 => H4,
12                    H4 => H5,
13                    H5 => H6,
14                    H6 => H6,
15                }
16            }
17            _ => {}
18        }
19        event
20    })
21}