class Asciidoctor::HTML5::BlockListingTemplate

Public Instance Methods

result(node) click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 426
  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
template() click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 465
def template
  :invoke_result
end