Class: Nanoc::Filters::Pandoc

Inherits:
Nanoc::Filter show all
Defined in:
lib/nanoc/filters/pandoc.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 Pandoc using PandocRuby.

Arguments can be passed to PandocRuby in two ways:

  • Use the :args option. This approach is more flexible, since it allows passing an array instead of a hash.

  • Pass the arguments directly to the filter. With this approach, only hashes can be passed, which is more limiting than the :args approach.

The :args approach is recommended.

Examples:

Passing arguments using :arg


filter :pandoc, args: [:s, {:f => :markdown, :to => :html}, 'no-wrap', :toc]

Passing arguments not using :arg


filter :pandoc, :f => :markdown, :to => :html

Parameters:

  • content (String)

    The content to filter

Returns:

  • (String)

    The filtered content



31
32
33
34
35
# File 'lib/nanoc/filters/pandoc.rb', line 31

def run(content, params = {})
  args = params.key?(:args) ? params[:args] : params

  PandocRuby.convert(content, *args)
end