Module: Middleman::Syntax::Highlighter

Defined in:
lib/middleman-syntax/extension.rb

Class Method Summary collapse

Class Method Details

.highlight(code, language) ⇒ Object

A helper module for highlighting code



42
43
44
45
46
47
# File 'lib/middleman-syntax/extension.rb', line 42

def self.highlight(code, language)
  opts = ::Middleman::Syntax.options.dup
  lexer = Rouge::Lexer.find_fancy(language, code) || Rouge::Lexers::Text
  formatter = Rouge::Formatters::HTML.new(opts.reverse_merge({ :css_class => "highlight #{lexer.tag}" }))
  formatter.format(lexer.lex(code, opts))
end