Class: Nanoc::Filters::Pandoc Private

Inherits:
Nanoc::Filter
  • Object
show all
Defined in:
lib/nanoc/filters/pandoc.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Instance Method Summary collapse

Instance Method Details

#run(content, params = {}) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Runs the content through [Pandoc](johnmacfarlane.net/pandoc/) using [PandocRuby](github.com/alphabetum/pandoc-ruby).

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}, 'wrap=none', :toc]

Passing arguments not using ‘:arg`


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

Parameters:

  • content (String)

    The content to filter

Returns:

  • (String)

    The filtered content



34
35
36
37
38
# File 'lib/nanoc/filters/pandoc.rb', line 34

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

  PandocRuby.convert(content, *args)
end