def result(node)
nowrap = (!node.document.attr? 'prewrap') || (node.option? 'nowrap')
if node.style == 'source'
language = node.attr 'language'
language_classes = language ? %Q(#{language} language-#{language}) : nil
case node.attr 'source-highlighter'
when 'coderay'
pre_class = nowrap ? ' class="CodeRay nowrap"' : ' class="CodeRay"'
code_class = language ? %Q( class="#{language_classes}") : nil
when 'pygments'
pre_class = nowrap ? ' class="pygments highlight nowrap"' : ' class="pygments highlight"'
code_class = language ? %Q( class="#{language_classes}") : nil
when 'highlightjs', 'highlight.js'
pre_class = nowrap ? ' class="highlight nowrap"' : ' class="highlight"'
code_class = language ? %Q( class="#{language_classes}") : nil
when 'prettify'
pre_class = %Q( class="prettyprint#{nowrap ? ' nowrap' : nil}#{(node.attr? 'linenums') ? ' linenums' : nil})
pre_class = language ? %Q(#{pre_class} #{language_classes}") : %Q(#{pre_class}")
code_class = nil
when 'html-pipeline'
pre_class = language ? %Q( lang="#{language}") : nil
code_class = nil
else
pre_class = nowrap ? ' class="highlight nowrap"' : ' class="highlight"'
code_class = language ? %Q( class="#{language_classes}") : nil
end
pre = %Q(<pre#{pre_class}><code#{code_class}>#{preserve_endlines(node.content, node)}</code></pre>)
else
pre = %Q(<pre#{nowrap ? ' class="nowrap"' : nil}>#{preserve_endlines(node.content, node)}</pre>)
end
%Q(<div#{node.id && " id=\"#{node.id}\""} class="listingblock#{node.role && " #{node.role}"}">#{node.title? ? "
<div class=\"title\">#{node.captioned_title}</div>" : nil}
<div class="content">
#{pre}
</div>
</div>)
end