@nertc commented on this pull request.
> + def truncate_html(html_doc, max_length = nil, empty_tag_length = 1000)
+ return html_doc if max_length.nil?
+
+ doc = Nokogiri::HTML::DocumentFragment.parse(html_doc)
+ accumulated_length = 0
+ last_child = nil
+
+ doc.traverse do |node|
+ if accumulated_length >= max_length
+ node.remove unless !last_child.nil? &&
last_child.ancestors.include?(node)
+ next
+ end
+
+ next unless node.children.empty?
+
+ accumulated_length += node.text? ? node.text.length : empty_tag_length
Maybe changing checking if the tag is empty to checking if the tag is `<img>`
will be better. Therefore, tags like `<br>` or `<p></p>` will take 1 symbol
space, while `<img>` will take for example 1000 symbol space. If we want any
other tags to be treated in a specific way, feel free to suggest.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5121#discussion_r1937179354
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/pull/5121/review/2586492...@github.com>
_______________________________________________
rails-dev mailing list
rails-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/rails-dev