5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/kitchen/directions/bake_iframes/v1.rb', line 5
def bake(book:)
iframes = book.search_with(Kitchen::PageElementEnumerator, \
Kitchen::CompositePageElementEnumerator).search('iframe')
return unless iframes.any?
iframes.each do |iframe|
next if iframe.has_class?('os-is-iframe')
iframe_link = \
begin
iframe.rex_link
rescue StandardError
warn "Unable to find rex link for iframe #{iframe}"
iframe[:src]
end
iframe.wrap('<div class="os-has-iframe" data-type="switch">')
iframe.add_class('os-is-iframe')
iframe = iframe.parent
iframe.add_class('os-has-link')
iframe.prepend(child:
<<~HTML
<a class="os-is-link" href="#{iframe_link}" target="_blank" rel="noopener nofollow">#{I18n.t(:iframe_link_text)}</a>
HTML
)
iframe.first('a.os-is-link').add_platform_media('print')
iframe.first('iframe').add_platform_media('screen')
end
end
|