Sha256: f552fa9b0a15d4fb5fc50234fda9d8623445f54fde0df87dcf892fcf8b6c9ec2

Contents?: true

Size: 1.6 KB

Versions: 90

Compression:

Stored size: 1.6 KB

Contents

# frozen_string_literal: true

module Nanoc::Filters
  # @api private
  class RedCloth < Nanoc::Filter
    identifier :redcloth

    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.key?(:filter_classes)
      r.filter_html    = params[:filter_html]    if params.key?(:filter_html)
      r.filter_ids     = params[:filter_ids]     if params.key?(:filter_ids)
      r.filter_styles  = params[:filter_styles]  if params.key?(:filter_styles)
      r.hard_breaks    = params[:hard_breaks]    if params.key?(:hard_breaks)
      r.lite_mode      = params[:lite_mode]      if params.key?(:lite_mode)
      r.no_span_caps   = params[:no_span_caps]   if params.key?(:no_span_caps)
      r.sanitize_html  = params[:sanitize_html]  if params.key?(:sanitize_html)

      # Get result
      r.to_html
    end
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
nanoc-4.13.3 lib/nanoc/filters/redcloth.rb
nanoc-4.13.2 lib/nanoc/filters/redcloth.rb
nanoc-4.13.1 lib/nanoc/filters/redcloth.rb
nanoc-4.13.0 lib/nanoc/filters/redcloth.rb
nanoc-4.12.21 lib/nanoc/filters/redcloth.rb
nanoc-4.12.20 lib/nanoc/filters/redcloth.rb
nanoc-4.12.19 lib/nanoc/filters/redcloth.rb
nanoc-4.12.18 lib/nanoc/filters/redcloth.rb
nanoc-4.12.17 lib/nanoc/filters/redcloth.rb
nanoc-4.12.16 lib/nanoc/filters/redcloth.rb
nanoc-4.12.15 lib/nanoc/filters/redcloth.rb
nanoc-4.12.14 lib/nanoc/filters/redcloth.rb
nanoc-4.12.13 lib/nanoc/filters/redcloth.rb
nanoc-4.12.12 lib/nanoc/filters/redcloth.rb
nanoc-4.12.11 lib/nanoc/filters/redcloth.rb
nanoc-4.12.10 lib/nanoc/filters/redcloth.rb
nanoc-4.12.9 lib/nanoc/filters/redcloth.rb
nanoc-4.12.8 lib/nanoc/filters/redcloth.rb
nanoc-4.12.7 lib/nanoc/filters/redcloth.rb
nanoc-4.12.6 lib/nanoc/filters/redcloth.rb