class Asciidoctor::HTML5::BlockVideoTemplate
Public Instance Methods
result(node)
click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 919 def result(node) id_attribute = node.id ? %Q( id="#{node.id}") : nil classes = ['videoblock', node.style, node.role].compact class_attribute = %Q( class="#{classes * ' '}") title_element = node.title? ? %Q(\n<div class="title">#{node.captioned_title}</div>) : nil width_attribute = (node.attr? 'width') ? %Q( width="#{node.attr 'width'}") : nil height_attribute = (node.attr? 'height') ? %Q( height="#{node.attr 'height'}") : nil case node.attr 'poster' when 'vimeo' start_anchor = (node.attr? 'start') ? "#at=#{node.attr 'start'}" : nil delimiter = '?' autoplay_param = (node.option? 'autoplay') ? "#{delimiter}autoplay=1" : nil delimiter = '&' if autoplay_param loop_param = (node.option? 'loop') ? "#{delimiter}loop=1" : nil %Q(<div#{id_attribute}#{class_attribute}>#{title_element} <div class="content"> <iframe#{width_attribute}#{height_attribute} src="//player.vimeo.com/video/#{node.attr 'target'}#{start_anchor}#{autoplay_param}#{loop_param}" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> </div> </div>) when 'youtube' start_param = (node.attr? 'start') ? "&start=#{node.attr 'start'}" : nil end_param = (node.attr? 'end') ? "&end=#{node.attr 'end'}" : nil autoplay_param = (node.option? 'autoplay') ? '&autoplay=1' : nil loop_param = (node.option? 'loop') ? '&loop=1' : nil controls_param = (node.option? 'nocontrols') ? '&controls=0' : nil %Q(<div#{id_attribute}#{class_attribute}>#{title_element} <div class="content"> <iframe#{width_attribute}#{height_attribute} src="//www.youtube.com/embed/#{node.attr 'target'}?rel=0#{start_param}#{end_param}#{autoplay_param}#{loop_param}#{controls_param}" frameborder="0"#{(node.option? 'nofullscreen') ? nil : ' allowfullscreen'}></iframe> </div> </div>) else poster_attribute = (node.attr? 'poster') ? %Q( poster="#{node.media_uri(node.attr 'poster')}") : nil %Q(<div#{id_attribute}#{class_attribute}>#{title_element} <div class="content"> <video src="#{node.media_uri(node.attr 'target')}"#{width_attribute}#{height_attribute}#{poster_attribute}#{(node.option? 'autoplay') ? ' autoplay' : nil}#{(node.option? 'nocontrols') ? nil : ' controls'}#{(node.option? 'loop') ? ' loop' : nil}> Your browser does not support the video tag. </video> </div> </div>) end end
template()
click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 961 def template :invoke_result end