class ContentFS::Renderers::Markdown::Code::SyntaxRenderer

Public Instance Methods

code_block(node) click to toggle source
# File lib/contentfs/renderers/markdown/code.rb, line 23
def code_block(node)
  block do
    language = node.fence_info.split(/\s+/)[0]
    out("<div class=\"highlight\"><pre class=\"highlight #{language}\"><code>")
    out(syntax_highlight(node.string_content, language))
    out("</code></pre></div>")
  end
end

Private Instance Methods

syntax_highlight(source, language) click to toggle source
# File lib/contentfs/renderers/markdown/code.rb, line 32
        def syntax_highlight(source, language)
  if (lexer = Rouge::Lexer.find(language))
    Rouge::Formatters::HTML.new.format(lexer.lex(source))
  else
    source
  end
end