Sha256: 5450555ad9590ec94527d5c6681d38241abf161e1811cdbbf1cbf107724115e8
Contents?: true
Size: 940 Bytes
Versions: 9
Compression:
Stored size: 940 Bytes
Contents
module Nexmo module OAS module Renderer module Filters class ExternalLink < Banzai::Filter def call(input) @input = input document.css('a').each_with_index do |link, _index| if link['href']&.start_with?('http') && link['class'] && !link['class'].include?('no-external-marker') link['target'] = '_blank' if link.css('svg').empty? link.add_child <<~HEREDOC <svg class="Vlt-icon Vlt-icon--smaller Vlt-icon--text-bottom Vlt-blue-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-open"></use></svg> HEREDOC end end end @document.to_html end private def document @document ||= Nokogiri::HTML::DocumentFragment.parse(@input) end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems