diff --git a/app/services/html/parser.rb b/app/services/html/parser.rb index f17340875..9b52dc7ec 100644 --- a/app/services/html/parser.rb +++ b/app/services/html/parser.rb @@ -251,6 +251,17 @@ def parse_emojis self end + def addIdHeadings + doc = Nokogiri::HTML.fragment(@html) + doc.search("a.anchor").each do |anchor| + anchor.set_attribute("id", anchor.attr("name")) + end + + @html = doc.to_html + + self + end + private def img_of_size(source, width = 880) diff --git a/app/services/markdown_processor/parser.rb b/app/services/markdown_processor/parser.rb index 300be574c..f3b2a71bb 100644 --- a/app/services/markdown_processor/parser.rb +++ b/app/services/markdown_processor/parser.rb @@ -135,6 +135,7 @@ def parse_html(html) Html::Parser .new(html) .remove_nested_linebreak_in_list + .addIdHeadings .prefix_all_images .wrap_all_images_in_links .add_control_class_to_codeblock