class Asciidoctor::HTML5::BlockListingTemplate

Public Instance Methods

template() click to toggle source
# File lib/asciidoctor/backends/html5.rb, line 412
  def template
    @template ||= @eruby.new "<%#encoding:UTF-8%><div#{id} class="listingblock#{role_class}">
#{title_div :caption => true}
<div class="content monospaced"><%
if attr? 'style', 'source', false
  language = (language = (attr 'language')) ? %(\#{language} language-\#{language}) : nil
  case attr 'source-highlighter'
  when 'coderay'
    pre_class = ' class="CodeRay"'
    code_class = language ? %( class="\#{language}") : nil
  when 'highlightjs', 'highlight.js'
    pre_class = ' class="highlight"'
    code_class = language ? %( class="\#{language}") : nil
  when 'prettify'
    pre_class = %( class="prettyprint\#{(attr? 'linenums') ? ' linenums' : nil})
    pre_class = language ? %(\#{pre_class} \#{language}") : %(\#{pre_class}")
    code_class = nil
  else
    pre_class = ' class="highlight"'
    code_class = language ? %( class="\#{language}") : nil
  end %>
<pre<%= pre_class %>><code<%= code_class %>><%= template.preserve_endlines(content, self) %></code></pre><%
else %>
<pre><%= template.preserve_endlines(content, self) %></pre><%
end %>
</div>
</div>
"
  end