class Jekyll::Converters::Markdown::CommonMark
Public Class Methods
new(config)
click to toggle source
# File lib/jekyll-commonmark.rb, line 7 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
Public Instance Methods
convert(content)
click to toggle source
# File lib/jekyll-commonmark.rb, line 45 def convert(content) CommonMarker.render_doc(content, @parse_options, @extensions) .to_html(@render_options, @extensions) end