.listingblock id=@id class=role - if title? .title=captioned_title .content - nowrap = !(@document.attr? :prewrap) || (option? 'nowrap') / implicit listing blocks and source blocks are rendered as code / explicit listing blocks stay listing - if @style == 'source' || (@style == 'listing' && !(attr? 1, 'listing')) - language = attr :language - code_class = language ? [language, "language-#{language}"] : nil - pre_class = ['highlight'] - pre_lang = nil - case attr 'source-highlighter' - when 'coderay' - pre_class = ['CodeRay'] - when 'pygments' - pre_class = ['pygments','highlight'] - when 'prettify' - pre_class = ['prettyprint'] - pre_class << 'linenums' if attr? :linenums - pre_class << language if language - pre_class << "language-#{language}" if language - code_class = nil - when 'html-pipeline' - pre_lang = language - pre_class = code_class = nil - nowrap = false /- when 'highlightjs', 'highlight.js' - pre_class << 'nowrap' if nowrap pre class=pre_class lang=pre_lang code class=code_class =content - else pre class=(nowrap ? 'nowrap' : nil) =content