def run(content, params={})
require 'nokogiri'
@colorizers = Hash.new(DEFAULT_COLORIZER)
(params[:colorizers] || {}).each_pair do |language, colorizer|
@colorizers[language] = colorizer
end
doc = Nokogiri::HTML.fragment(content)
doc.css('pre > code[class*="language-"]').each do |element|
match = element['class'].match(/(^| )language-([^ ]+)/)
next if match.nil?
language = match[2]
highlighted_code = highlight(element.inner_text, language, params)
element.inner_html = highlighted_code
end
doc.to_s
end