def run(content, params={})
if ::Redcarpet::VERSION > '2'
options = params[:options] || {}
renderer_class = params[:renderer] || ::Redcarpet::Render::HTML
renderer_options = params[:renderer_options] || {}
if options.is_a?(Array)
warn 'WARNING: You are passing an array of options to the :redcarpet filter, but Redcarpet 2.x expects a hash instead. This will likely fail.'
end
if renderer_class == ::Redcarpet::Render::HTML_TOC
renderer = renderer_class.new
else
renderer = renderer_class.new(renderer_options)
end
::Redcarpet::Markdown.new(renderer, options).render(content)
else
options = params[:options] || []
::Redcarpet.new(content, *options).to_html
end
end