Sha256: 1626670eedbaa98e11b835c56a2f92755073b20371b992c745c038dba8a32e92

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# Frozen-string-literal: true
# Encoding: utf-8

module Jekyll
  module Converters
    class Markdown::CommonMark
      def initialize(config)
        Jekyll::External.require_with_graceful_fail "commonmarker"
        begin
          @options = config['commonmark']['options'].collect { |e| e.upcase.to_sym }
        rescue NoMethodError
          @options = [:DEFAULT]
        else
          @options.reject! do |e|
            unless CommonMarker::Config::Parse.keys.include? e
              Jekyll.logger.warn "CommonMark:", "#{e} is not a valid option"
              Jekyll.logger.info "Valid options:", CommonMarker::Config::Parse.keys.join(", ")
              true
            end
          end
        end
        begin
          @extensions = config['commonmark']['extensions'].collect { |e| e.to_sym }
        rescue NoMethodError
          @extensions = []
        else
          @extensions.reject! do |e|
            unless CommonMarker.extensions.include? e.to_s
              Jekyll.logger.warn "CommonMark:", "#{e} is not a valid extension"
              Jekyll.logger.info "Valid extensions:", CommonMarker.extensions.join(", ")
              true
            end
          end
        end
      end

      def convert(content)
        CommonMarker.render_doc(content, @options, @extensions).to_html
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-commonmark-1.1.0 lib/jekyll-commonmark.rb