From 119852adab0e9347b6380446193f36ce03d8b1a3 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Sun, 26 May 2019 22:42:01 +0200 Subject: Truncate long URLs while providing alt text for inline images --- app/lib/sanitize_config.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'app/lib') diff --git a/app/lib/sanitize_config.rb b/app/lib/sanitize_config.rb index 1d336fcc3..61d5acac8 100644 --- a/app/lib/sanitize_config.rb +++ b/app/lib/sanitize_config.rb @@ -32,7 +32,15 @@ class Sanitize node.name = 'a' node['href'] = node['src'] - node.content = "[🖼 #{node['alt'] || node['href']}]" + if node['alt'].present? + node.content = "[🖼 #{node['alt']}]" + else + url = node['href'] + prefix = url.match(/\Ahttps?:\/\/(www\.)?/).to_s + text = url[prefix.length, 30] + text = text + "…" if url[prefix.length..-1].length > 30 + node.content = "[🖼 #{text}]" + end end QUERY_STRING_SANITIZER = lambda do |env| -- cgit