convert_codeblock

in jekyll/plugins/markdown_converter.rb [51:71]


      def convert_codeblock(el, indent)
        attr = el.attr.dup
        lang = self.extract_code_language(attr) || 'text'
        highlight_lines = ''

        if attr['class'] and attr['class'].scan(/\{[\d\-\,]+\}/).length > 0
          lang_parts = attr['class'].split('{')
          highlight_lines = "{#{lang_parts[1]}"
        end

        div_attr = {}
        div_attr['class'] = "code-block"
        div_attr['data-lang'] = lang if lang

        code = highlight_code(el.value, lang, :block, { :highlight_lines => highlight_lines })
        code_attr = {}
        code_attr['class'] = "code-block__wrapper"

        format_as_block_html('div', div_attr, format_as_span_html('code', code_attr, code), 0)
      end