X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ff3e7b890d0fc0e2fe4296ea480ad3e00710ebf5..d04bbae47ac6181c6896545651fa03d70694c439:/lib/rich_text.rb diff --git a/lib/rich_text.rb b/lib/rich_text.rb index 3f5d9f6ba..36e70063f 100644 --- a/lib/rich_text.rb +++ b/lib/rich_text.rb @@ -78,12 +78,18 @@ module RichText 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