Class: Jekyll::Converters::Markdown::PandocParser
- Inherits:
-
Object
- Object
- Jekyll::Converters::Markdown::PandocParser
- Defined in:
- lib/jekyll/converters/markdown/pandoc_parser.rb
Constant Summary collapse
- DEFAULT_EXTENSIONS =
[]
- DEFAULT_FORMAT =
'html5'
Instance Method Summary collapse
- #config_option(key, default = nil) ⇒ Object
- #convert(content) ⇒ Object
-
#initialize(config) ⇒ PandocParser
constructor
A new instance of PandocParser.
Constructor Details
#initialize(config) ⇒ PandocParser
Returns a new instance of PandocParser.
9 10 11 12 13 14 15 16 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 9 def initialize(config) require 'pandoc-ruby' @config = config rescue LoadError STDERR.puts 'You are missing a library required for Pandoc. Please run:' STDERR.puts ' $ [sudo] gem install pandoc-ruby' raise FatalException, "Missing dependency: pandoc-ruby" end |
Instance Method Details
#config_option(key, default = nil) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 27 def config_option(key, default=nil) if @config['pandoc'] @config['pandoc'].fetch(key, default) else default end end |
#convert(content) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 18 def convert(content) extensions = config_option('extensions', DEFAULT_EXTENSIONS) format = config_option('format', DEFAULT_FORMAT) content = PandocRuby.new(content, *extensions).send("to_#{format}") raise FatalException, "Conversion returned empty string" unless content.length > 0 content end |