From: Tom Hughes Date: Thu, 27 Mar 2025 17:27:40 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5855' X-Git-Tag: live~20 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/d04bbae47ac6181c6896545651fa03d70694c439?hp=-c Merge remote-tracking branch 'upstream/pull/5855' --- d04bbae47ac6181c6896545651fa03d70694c439 diff --combined lib/rich_text.rb index 3f5d9f6ba,453f3d23a..36e70063f --- a/lib/rich_text.rb +++ b/lib/rich_text.rb @@@ -78,17 -78,23 +78,23 @@@ module RichTex def linkify(text, mode = :urls) link_attr = tag_builder.tag_options(:rel => "nofollow noopener noreferrer") Rinku.auto_link(ERB::Util.html_escape(text), mode, link_attr) do |url| - %r{^https?://([^/]*)(.*)$}.match(url) do |m| - "#{Settings.linkify_hosts_replacement}#{m[2]}" if Settings.linkify_hosts_replacement && - Settings.linkify_hosts&.include?(m[1]) - end || url + url = shorten_host(url, Settings.linkify_hosts, Settings.linkify_hosts_replacement) + shorten_host(url, Settings.linkify_wiki_hosts, Settings.linkify_wiki_hosts_replacement) end.html_safe end + + private + + def shorten_host(url, hosts, hosts_replacement) + %r{^https?://([^/]*)(.*)$}.match(url) do |m| + "#{hosts_replacement}#{m[2]}" if hosts_replacement && hosts&.include?(m[1]) + end || url + end end class HTML < Base def to_html - linkify(sanitize(simple_format(self))) + linkify(simple_format(self)) end def to_text