X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/3f85984f969df2c48d0dac9e6202fc2fadf9f067..459daa030e3c562ecb5e0633c3166a547e61a161:/lib/rich_text.rb diff --git a/lib/rich_text.rb b/lib/rich_text.rb index d9c799611..453f3d23a 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