[openstreetmap/openstreetmap-website] Provide a truncated view of recent diaries (PR #5121)
Anton Khorev
notifications at github.com
Thu Nov 14 10:12:09 UTC 2024
@AntonKhorev commented on this pull request.
> + def truncate_html(html, max_length, empty_tag_length = 500)
+ doc = Nokogiri::HTML::DocumentFragment.parse(html)
+ accumulated_length = 0
+ truncated_node = nil
+
+ doc.traverse do |node|
+ if accumulated_length >= max_length
+ node.remove unless truncated_node.ancestors.include?(node)
+ next
+ end
+
+ next unless node.children.empty?
+
+ content_length = node.text? ? node.text.length : empty_tag_length
+ if accumulated_length + content_length >= max_length
+ node.content = node.text.truncate(max_length - accumulated_length) if node.text?
If you write one huge paragraph, yes it's going to be discarded. Don't write one huge paragraph.
The limit of 1000 characters could be increased though.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5121#discussion_r1841952445
You are receiving this because you are subscribed to this thread.
Message ID: <openstreetmap/openstreetmap-website/pull/5121/review/2435647277 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20241114/8ecf233d/attachment-0001.htm>
More information about the rails-dev
mailing list