module Redcarpet::Render::SmartyPants

SmartyPants Mixin module

Implements SmartyPants.postprocess, which performs smartypants replacements on the HTML file, once it has been fully rendered.

To add SmartyPants postprocessing to your custom renderers, just mixin the module ‘include SmartyPants`

You can also use this as a standalone SmartyPants implementation.

Example:

# Mixin
class CoolRenderer < HTML
  include SmartyPants
  # more code here
end

# Standalone
Redcarpet::Render::SmartyPants.render("you're")

Public Class Methods

render(text) click to toggle source
# File lib/redcarpet.rb, line 87
def self.render(text)
  postprocess text
end

Public Instance Methods

postprocess(p1) click to toggle source
static VALUE rb_redcarpet_smartypants_render(VALUE self, VALUE text)
{
        VALUE result;
        struct buf *output_buf;

        Check_Type(text, T_STRING);

        output_buf = bufnew(128);

        sdhtml_smartypants(output_buf, (const uint8_t*)RSTRING_PTR(text), RSTRING_LEN(text));
        result = rb_enc_str_new((const char*)output_buf->data, output_buf->size, rb_enc_get(text));

        bufrelease(output_buf);
        return result;
}