Class: Converters::Markdown::Paru

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll-paru.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Paru

Returns a new instance of Paru.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/jekyll-paru.rb', line 8

def initialize config
  External.require_with_graceful_fail 'paru/pandoc'
  @config = config

  @paru = ::Paru::Pandoc.new do
    self.class.class_variable_set :@@pandoc_exec, config['paru']&.[]('exec') || self.class.class_variable_get(:@@pandoc_exec)
    @options = config['paru']&.[]('options')&.dup || {}
    @options['from'] ||= 'markdown'
    @options['to'] ||= 'html5'
    @options.each do |key, value|
      default = ::Paru::Pandoc::OPTIONS[key]
      if default.nil?
        @options.delete key
        Jekyll.logger.warn 'Paru:', "Unknown option #{key}, ignoring"
      elsif default.is_a? Array
        @options[key] = [value].flatten
      end
    end
  end
end

Instance Method Details

#convert(content) ⇒ Object



29
30
31
# File 'lib/jekyll-paru.rb', line 29

def convert content
  @paru.convert content
end