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