Redcloth with CodeRay

Adds CodeRay syntax highlighting support to RedCloth, with a ‘source’ tag. See the examples below.

A short summary of what you can do:

  • <source>foo</source> - Use this tag to produce CodeRay highlighted HTML for the contents within that tag. The language defaults to Ruby.

  • <source:css>foo</source> - Highlight as usual, but highlight as CSS. Supports everything CodeRay supports. Refer to the CodeRay documentation for a list of supported languages.

  • You can also use the <code> tag.

Installing

Installation as usual:

sudo gem install redclothcoderay

You can also install the gem via github, to get the latest HEAD.

sudo gem install augustl-redclothcoderay --source=http://gems.github.com/

Using

A short example.

require 'rubygems'
require 'redcloth'
require 'coderay'
require 'redclothcoderay'

RedCloth.new('I am *bold* and <source>@hi_tech</source>').to_html

You can specify the CodeRay options, too (defaults to RedclothCoderay::CODERAY_OPTIONS).

RedclothCoderay.coderay_options :line_numbers => :table

Example

This input:

Hello, this is *textilized*. It also has <source>@inline_code_examples</source>!

What about a multi-line code sample?

<source:html>
<h1>Hello, world!</h1>
</source>

produces this output (indented for clarity):

<p>Hello, this is <strong>textilized</strong>. It also has <code class="inline_code">
  <span class="iv">@inline_code_examples</span>
</code>!</p>

<p>What about a multi-line code sample?</p>

<pre><code class=\"multiline_code\">
  <span class=\"ta\">&amp;lt;h1&amp;gt;</span>Hello, world!<span class=\"ta\">&amp;lt;/h1&amp;gt;</span>
</code></pre>