class Asciidoctor::HTML5::InlineImageTemplate
def image(target, type, node)
def image(target, type, node) if type == 'icon' && (node.document.attr? 'icons', 'font') style_class = "icon-#{target}" if node.attr? 'size' style_class = "#{style_class} icon-#{node.attr 'size'}" end if node.attr? 'rotate' style_class = "#{style_class} icon-rotate-#{node.attr 'rotate'}" end if node.attr? 'flip' style_class = "#{style_class} icon-flip-#{node.attr 'flip'}" end title_attribute = (node.attr? 'title') ? %( title="#{node.attr 'title'}") : nil img = %(<i class="#{style_class}"#{title_attribute}></i>) elsif type == 'icon' && !(node.document.attr? 'icons') img = "[#{node.attr 'alt'}]" else if type == 'icon' resolved_target = node.icon_uri target else resolved_target = node.image_uri target end attrs = ['alt', 'width', 'height', 'title'].map {|name| if node.attr? name %( #{name}="#{node.attr name}") else nil end }.join img = %(<img src="#{resolved_target}"#{attrs}>) end if node.attr? 'link' img = %(<a class="image" href="#{node.attr 'link'}"#{(node.attr? 'window') ? " target=\"#{node.attr 'window'}\"" : nil}>#{img}</a>) end if node.role? style_classes = %(#{type} #{node.role}) else style_classes = type end style_attr = (node.attr? 'float') ? %( style="float: #{node.attr 'float'}") : nil %(<span class="#{style_classes}"#{style_attr}>#{img}</span>) end
def result(node)
def result(node) image(node.target, node.type, node) end
def template
def template :invoke_result end