Class: Jekyll::Converters::Markdown::PandocParser
- Inherits:
-
Object
- Object
- Jekyll::Converters::Markdown::PandocParser
- Defined in:
- lib/jekyll/converters/markdown/pandoc_parser.rb
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.
42 43 44 45 46 47 48 49 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 42 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
60 61 62 63 64 65 66 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 60 def config_option(key, default=nil) if @config['pandoc'] @config['pandoc'].fetch(key, default) else default end end |
#convert(content) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/jekyll/converters/markdown/pandoc_parser.rb', line 51 def convert(content) extensions = config_option('extensions', []) format = config_option('format', 'html5') content = PandocRuby.new(content, *extensions).send("to_#{format}") raise FatalException, "Conversion returned empty string" unless content.length > 0 content end |