class Asciidoctor::HTML5::BlockUlistTemplate
Public Instance Methods
result(node)
click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 667 def result(node) result_buffer = [] id_attribute = node.id ? %Q( id="#{node.id}") : nil div_classes = ['ulist', node.style, node.role].compact marker_checked = nil marker_unchecked = nil if (checklist = (node.option? 'checklist')) div_classes.insert(1, 'checklist') ul_class_attribute = ' class="checklist"' if node.option? 'interactive' marker_checked = %Q(<input type="checkbox" data-item-complete="1" checked> ) marker_unchecked = %Q(<input type="checkbox" data-item-complete="0"> ) else if node.document.attr? 'icons', 'font' marker_checked = '<i class="icon-check"></i> ' marker_unchecked = '<i class="icon-check-empty"></i> ' else # could use ☑ (checked ballot) and ☐ (ballot) w/o font instead marker_checked = %Q(<input type="checkbox" data-item-complete="1" checked disabled> ) marker_unchecked = %Q(<input type="checkbox" data-item-complete="0" disabled> ) end end elsif !node.style.nil? ul_class_attribute = %Q( class="#{node.style}") else ul_class_attribute = nil end div_class_attribute = %Q( class="#{div_classes * ' '}") result_buffer << %Q(<div#{id_attribute}#{div_class_attribute}>) result_buffer << %Q(<div class="title">#{node.title}</div>) if node.title? result_buffer << %Q(<ul#{ul_class_attribute}>) node.items.each do |item| if checklist && (item.attr? 'checkbox') marker = (item.attr? 'checked') ? marker_checked : marker_unchecked else marker = nil end result_buffer << '<li>' result_buffer << %Q(<p>#{marker}#{item.text}</p>) result_buffer << item.content if item.blocks? result_buffer << '</li>' end result_buffer << '</ul>' result_buffer << '</div>' result_buffer * EOL end
template()
click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 717 def template :invoke_result end