class Nanoc::Filters::ColorizeSyntax::Colorizers::CoderayColorizer

Public Instance Methods

postprocess(_language, element) click to toggle source
# File lib/nanoc/filters/colorize_syntax/colorizers.rb, line 37
def postprocess(_language, element)
  # Skip if we're a free <code>
  return if element.parent.nil?

  # <div class="code">
  div_inner = Nokogiri::XML::Node.new('div', element.document)
  div_inner['class'] = 'code'
  div_inner.children = element.dup

  # <div class="CodeRay">
  div_outer = Nokogiri::XML::Node.new('div', element.document)
  div_outer['class'] = 'CodeRay'
  div_outer.children = div_inner

  # orig element
  element.swap div_outer
end
process(code, language, params = {}) click to toggle source
# File lib/nanoc/filters/colorize_syntax/colorizers.rb, line 31
def process(code, language, params = {})
  require 'coderay'

  ::CodeRay.scan(code, language).html(params)
end