Sha256: 7a4d75f8320ccc9a600c65394e417f007a06ac6e518ec3b4f5e77a14366d5aef

Contents?: true

Size: 715 Bytes

Versions: 4

Compression:

Stored size: 715 Bytes

Contents

# frozen_string_literal: true

module Kitchen
  module Directions
    module BakeNoteIFrames
      def self.v1(note:)
        iframes = note.search('iframe')
        return unless iframes.any?

        iframes.each do |iframe|
          iframe.wrap('<div class="os-has-iframe" data-type="alternatives">')
          iframe.add_class('os-is-iframe')
          link_ref = iframe[:src]
          next unless link_ref

          iframe = iframe.parent
          iframe.add_class('os-has-link')
          iframe.prepend(child:
            <<~HTML
              <a class="os-is-link" href="#{link_ref}" target="_window">#{I18n.t(:iframe_link_text)}</a>
            HTML
          )
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
openstax_kitchen-11.0.0 lib/kitchen/directions/bake_notes/bake_note_iframes.rb
openstax_kitchen-10.0.0 lib/kitchen/directions/bake_notes/bake_note_iframes.rb
openstax_kitchen-9.2.0 lib/kitchen/directions/bake_notes/bake_note_iframes.rb
openstax_kitchen-9.1.0 lib/kitchen/directions/bake_notes/bake_note_iframes.rb