Class: Redmine::WikiFormatting::CommonMark::ExternalLinksFilter
- Inherits:
-
HTML::Pipeline::Filter
- Object
- HTML::Pipeline::Filter
- Redmine::WikiFormatting::CommonMark::ExternalLinksFilter
- Defined in:
- lib/redmine/wiki_formatting/common_mark/external_links_filter.rb
Overview
adds class=“external” to external links, and class=“email” to mailto links
Instance Method Summary collapse
Instance Method Details
#call ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/redmine/wiki_formatting/common_mark/external_links_filter.rb', line 28 def call doc.search("a").each do |node| url = node["href"] next unless url next if url.starts_with?("/") || url.starts_with?("#") || !url.include?(':') scheme = URI.parse(url).scheme next if scheme.blank? klass = node["class"].presence node["class"] = [ klass, (scheme == "mailto" ? "email" : "external") ].compact.join " " end doc end |