Sha256: f002878ddcfc6f8bf6d132de1dfed26485fec60b7e3a79690cd996b027374fcc
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
# frozen-string-literal: true module Jekyll module Converters class Markdown class 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 = [] else valid_opts = Set.new(CommonMarker::Config::Parse.keys + CommonMarker::Config::Render.keys) options.reject! do |e| next if valid_opts.include? e Jekyll.logger.warn "CommonMark:", "#{e} is not a valid option" Jekyll.logger.info "Valid options:", valid_opts.to_a.join(", ") true end end begin @extensions = config["commonmark"]["extensions"].collect(&:to_sym) rescue NoMethodError @extensions = [] else @extensions.reject! do |e| next if 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 options_set = Set.new(options).freeze @parse_options = (options_set & CommonMarker::Config::Parse.keys).to_a @render_options = (options_set & CommonMarker::Config::Render.keys).to_a @parse_options = :DEFAULT if @parse_options.empty? @render_options = :DEFAULT if @render_options.empty? end def convert(content) CommonMarker.render_doc(content, @parse_options, @extensions) .to_html(@render_options, @extensions) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jekyll-commonmark-1.3.1 | lib/jekyll-commonmark.rb |
jekyll-commonmark-1.3.0 | lib/jekyll-commonmark.rb |