Class: Nanoc::Filters::RedCloth

Inherits:
Nanoc::Filter show all
Defined in:
lib/nanoc/filters/redcloth.rb

Constant Summary

Constant Summary

Constants inherited from Nanoc::Filter

Nanoc::Filter::TMP_BINARY_ITEMS_DIR

Instance Attribute Summary

Attributes inherited from Nanoc::Filter

#assigns

Instance Method Summary (collapse)

Methods inherited from Nanoc::Filter

#depend_on, #filename, from_binary?, #initialize, #output_filename, requires, setup, #setup_and_run, to_binary?, type

Methods included from PluginRegistry::PluginMethods

#all, #identifier, #identifiers, #named, #register

Methods inherited from Context

#get_binding, #initialize

Constructor Details

This class inherits a constructor from Nanoc::Filter

Instance Method Details

- (String) run(content, params = {})

Runs the content through RedCloth. 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).

Parameters:

  • content (String)

    The content to filter

Returns:

  • (String)

    The filtered content



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/nanoc/filters/redcloth.rb', line 27

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