def result(node)
id_attribute = node.id ? %Q( id="#{node.id}") : nil
classes = ['verseblock', node.role].compact
class_attribute = %Q( class="#{classes * ' '}")
title_element = node.title? ? %Q(\n<div class="title">#{node.title}</div>) : nil
attribution = (node.attr? 'attribution') ? (node.attr 'attribution') : nil
citetitle = (node.attr? 'citetitle') ? (node.attr 'citetitle') : nil
if attribution || citetitle
cite_element = citetitle ? %Q(<cite>#{citetitle}</cite>) : nil
attribution_text = attribution ? %Q(#{citetitle ? "<br>\n" : nil}— #{attribution}) : nil
attribution_element = %Q(\n<div class="attribution">\n#{cite_element}#{attribution_text}\n</div>)
else
attribution_element = nil
end
%Q(<div#{id_attribute}#{class_attribute}>#{title_element}
<pre class="content">#{preserve_endlines node.content, node}</pre>#{attribution_element}
</div>)
end