class Redcarpet::Render::Safe - redcarpet-3.4.0 Documentation

# class Redcarpet::Render::Safe

A renderer object you can use to deal with users' input. It enables `escape_html` and `safe_links_only` by default.

The `block_code` callback is also overriden not to include the lang's class as the user can basically specify anything with the vanilla one.

### Public Class Methods

new(extensions = {}) click to toggle source
Calls superclass method Redcarpet::Render::HTML.new

    # File lib/redcarpet.rb, line 32
    def initialize(extensions = {})
      super({
        escape_html: true,
        safe_links_only: true
      }.merge(extensions))
    end

### Public Instance Methods

block_code(code, lang) click to toggle source

    # File lib/redcarpet.rb, line 39
    def block_code(code, lang)
      "<pre>"            "<code>#{html_escape(code)}</code>"          "</pre>"
    end

### Private Instance Methods

html_escape(string) click to toggle source

TODO: This is far from ideal to have such method as we are duplicating existing code from Houdini. This method should be defined at the C level.

    # File lib/redcarpet.rb, line 50
    def html_escape(string)
      string.gsub(/['&\"<>\/]/, {
        '&' => '&amp;',
        '<' => '&lt;',
        '>' => '&gt;',
        '"' => '&quot;',
        "'" => '&#x27;',
        "/" => '&#x2F;',
      })
    end