def colist node
result = []
id_attribute = node.id ? %( id="#{node.id}") : nil
classes = ['colist', node.style, node.role].compact
class_attribute = %( class="#{classes * ' '}")
result << %(<div#{id_attribute}#{class_attribute}>)
result << %(<div class="title">#{node.title}</div>) if node.title?
if node.document.attr? 'icons'
result << '<table>'
font_icons, num = (node.document.attr? 'icons', 'font'), 0
node.items.each do |item|
num += 1
if font_icons
num_label = %(<i class="conum" data-value="#{num}"></i><b>#{num}</b>)
else
num_label = %(<img src="#{node.icon_uri "callouts/#{num}"}" alt="#{num}"#{@void_element_slash}>)
end
result << %(<tr>
<td>#{num_label}</td>
<td>#{item.text}#{item.blocks? ? LF + item.content : ''}</td>
</tr>)
end
result << '</table>'
else
result << '<ol>'
node.items.each do |item|
result << %(<li>
<p>#{item.text}</p>#{item.blocks? ? LF + item.content : ''}
</li>)
end
result << '</ol>'
end
result << '</div>'
result * LF
end