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