diff --git a/Gemfile b/Gemfile
index 61c84807..74ba1afb 100644
--- a/Gemfile
+++ b/Gemfile
@@ -33,7 +33,6 @@ gem 'pretender'
gem 'puma', require: false
gem 'rack'
gem 'rails'
-gem 'rails_autolink'
gem 'rails-i18n'
gem 'rotp'
gem 'rouge', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 5e359ad0..68442827 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -219,7 +219,6 @@ GEM
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (~> 0.7)
- ffi (1.17.3)
ffi (1.17.3-aarch64-linux-gnu)
ffi (1.17.3-aarch64-linux-musl)
ffi (1.17.3-arm64-darwin)
@@ -352,8 +351,6 @@ GEM
oj (3.16.13)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
- onnxruntime (0.10.1)
- ffi
onnxruntime (0.10.1-aarch64-linux)
ffi
onnxruntime (0.10.1-arm64-darwin)
@@ -372,7 +369,6 @@ GEM
parser (3.3.10.1)
ast (~> 2.4.1)
racc
- pg (1.6.3)
pg (1.6.3-aarch64-linux)
pg (1.6.3-aarch64-linux-musl)
pg (1.6.3-arm64-darwin)
@@ -439,10 +435,6 @@ GEM
rails-i18n (8.1.0)
i18n (>= 0.7, < 2)
railties (>= 8.0.0, < 9)
- rails_autolink (1.1.8)
- actionview (> 3.1)
- activesupport (> 3.1)
- railties (> 3.1)
railties (8.1.2)
actionpack (= 8.1.2)
activesupport (= 8.1.2)
@@ -662,7 +654,6 @@ DEPENDENCIES
rack
rails
rails-i18n
- rails_autolink
rotp
rouge
rqrcode
diff --git a/app/views/start_form/_policy.html.erb b/app/views/start_form/_policy.html.erb
index a22969df..5eb1a78b 100644
--- a/app/views/start_form/_policy.html.erb
+++ b/app/views/start_form/_policy.html.erb
@@ -1,5 +1,5 @@
<% if configs = account.account_configs.find_by(key: AccountConfig::POLICY_LINKS_KEY) %>
- <%= auto_link(MarkdownToHtml.call(configs.value)) %>
+ <%= MarkdownToHtml.call(configs.value) %>
<% end %>
diff --git a/app/views/submit_form/show.html.erb b/app/views/submit_form/show.html.erb
index f2bfedd3..e22629c2 100644
--- a/app/views/submit_form/show.html.erb
+++ b/app/views/submit_form/show.html.erb
@@ -91,7 +91,7 @@
<% if @form_configs[:policy_links].present? %>
- <%= auto_link(MarkdownToHtml.call(@form_configs[:policy_links])) %>
+ <%= MarkdownToHtml.call(@form_configs[:policy_links]) %>
<% end %>
diff --git a/app/views/submitter_mailer/_custom_content.html.erb b/app/views/submitter_mailer/_custom_content.html.erb
index 223ba82e..e22c394a 100644
--- a/app/views/submitter_mailer/_custom_content.html.erb
+++ b/app/views/submitter_mailer/_custom_content.html.erb
@@ -1 +1 @@
-<%= auto_link(simple_format(MarkdownToHtml.call(h(ReplaceEmailVariables.call(local_assigns[:content], submitter: local_assigns[:submitter], sig: local_assigns[:sig]))))) %>
+<%= MarkdownToHtml.call(ReplaceEmailVariables.call(local_assigns[:content], submitter: local_assigns[:submitter], sig: local_assigns[:sig])) %>
diff --git a/lib/markdown_to_html.rb b/lib/markdown_to_html.rb
index 694cd856..19e372d2 100644
--- a/lib/markdown_to_html.rb
+++ b/lib/markdown_to_html.rb
@@ -27,11 +27,13 @@ module MarkdownToHtml
link_parts = text.split(%r{((?:https?://|www\.)[^\s)]+)})
link_parts.map.with_index do |part, index|
- if part.match?(%r{\A(?:https?://|www\.)}) &&
- !(index > 0 && link_parts[index - 1]&.match?(/\]\(\s*\z/))
+ if part.match?(%r{\A(?:https?://|www\.)}) && !(index > 0 && link_parts[index - 1]&.match?(/\]\(\s*\z/))
trail = part.match(/([.,;:!?]+)\z/)[1] if part.match?(/[.,;:!?]+\z/)
+
clean = trail ? part.chomp(trail) : part
- url = clean.start_with?('www.') ? "http://#{clean}" : clean
+
+ url = clean.start_with?('www.') ? "https://#{clean}" : clean
+
"[#{clean}](#{url})#{trail}"
else
part