Sha256: 6c04624cb850ba371c7fa7d411e42be584a429c0703575c560c7ae40600d1e70

Contents?: true

Size: 1.58 KB

Versions: 8

Compression:

Stored size: 1.58 KB

Contents

# encoding: utf-8

module Nanoc::Filters
  class RedCloth < Nanoc::Filter

    requires 'redcloth'

    # Runs the content through [RedCloth](http://redcloth.org/). This method
    # takes the following options:
    #
    # * `:filter_class`
    # * `:filter_html`
    # * `:filter_ids`
    # * `:filter_style`
    # * `:hard_breaks`
    # * `:lite_mode`
    # * `:no_span_caps`
    # * `:sanitize_htm`
    #
    # Each of these options sets the corresponding attribute on the `RedCloth`
    # instance. For example, when the `:hard_breaks => false` option is passed
    # to this filter, the filter will call `r.hard_breaks = false` (with `r`
    # being the `RedCloth` instance).
    #
    # @param [String] content The content to filter
    #
    # @return [String] The filtered content
    def run(content, params={})
      # Create formatter
      r = ::RedCloth.new(content)

      # Set options
      r.filter_classes = params[:filter_classes] if params.has_key?(:filter_classes)
      r.filter_html    = params[:filter_html]    if params.has_key?(:filter_html)
      r.filter_ids     = params[:filter_ids]     if params.has_key?(:filter_ids)
      r.filter_styles  = params[:filter_styles]  if params.has_key?(:filter_styles)
      r.hard_breaks    = params[:hard_breaks]    if params.has_key?(:hard_breaks)
      r.lite_mode      = params[:lite_mode]      if params.has_key?(:lite_mode)
      r.no_span_caps   = params[:no_span_caps]   if params.has_key?(:no_span_caps)
      r.sanitize_html  = params[:sanitize_html]  if params.has_key?(:sanitize_html)

      # Get result
      r.to_html
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
nanoc-3.6.7 lib/nanoc/filters/redcloth.rb
nanoc-3.6.6 lib/nanoc/filters/redcloth.rb
nanoc-3.6.5 lib/nanoc/filters/redcloth.rb
nanoc-3.6.4 lib/nanoc/filters/redcloth.rb
nanoc-3.6.3 lib/nanoc/filters/redcloth.rb
nanoc-3.6.2 lib/nanoc/filters/redcloth.rb
nanoc-3.6.1 lib/nanoc/filters/redcloth.rb
nanoc-3.6.0 lib/nanoc/filters/redcloth.rb