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