Redcarpet のシンタックスハイライトに CodeRay を使う

require "redcarpet"
require "coderay"

class HTMLwithCoderay < Redcarpet::Render::HTML
  def block_code(code, language)
    CodeRay.scan(code, language.to_sym).div(:line_numbers => :table)
  end
end

def markdown(text)
  rndr = HTMLwithCoderay.new(:filter_html => true, :hard_wrap => true)
  markdown = Redcarpet::Markdown.new(rndr, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true)
  markdown.render(text)
end

その他、参考