@@ -114,32 +114,29 @@ pub fn parse_markdown_to_html(
114114 let mut parsing_heading = false ;
115115 let mut word_count: u32 = 0 ;
116116
117- let heading_parser = Parser :: new_ext ( markdown, options) . map ( |event| {
118- match & event {
119- Event :: Start ( Tag :: Heading { .. } ) => {
120- parsing_heading = true ;
121- }
122- Event :: Text ( value) => {
123- word_count += words ( value) ;
124- if parsing_heading {
125- current_id_fragments. push_str ( value) ;
126- }
127- }
128- Event :: Code ( value) => {
129- if parsing_heading {
130- current_id_fragments. push_str ( value) ;
131- }
117+ let heading_parser = Parser :: new_ext ( markdown, options) . inspect ( |event| match event {
118+ Event :: Start ( Tag :: Heading { .. } ) => {
119+ parsing_heading = true ;
120+ }
121+ Event :: Text ( value) => {
122+ word_count += words ( value) ;
123+ if parsing_heading {
124+ current_id_fragments. push_str ( value) ;
132125 }
133- Event :: End ( TagEnd :: Heading ( _heading_level) ) => {
134- let heading = & current_id_fragments;
135- let id = slugified_title ( & current_id_fragments) ;
136- headings. push ( Heading :: new ( heading, & id) ) ;
137- current_id_fragments = String :: new ( ) ;
138- parsing_heading = false ;
126+ }
127+ Event :: Code ( value) => {
128+ if parsing_heading {
129+ current_id_fragments. push_str ( value) ;
139130 }
140- _ => { }
141131 }
142- event
132+ Event :: End ( TagEnd :: Heading ( _heading_level) ) => {
133+ let heading = & current_id_fragments;
134+ let id = slugified_title ( & current_id_fragments) ;
135+ headings. push ( Heading :: new ( heading, & id) ) ;
136+ current_id_fragments = String :: new ( ) ;
137+ parsing_heading = false ;
138+ }
139+ _ => { }
143140 } ) ;
144141 html:: write_html ( Cursor :: new ( & mut bytes) , heading_parser) ?;
145142 let reading_time = reading_time_from_words ( word_count) ;
0 commit comments