25 lines
744 B
Ruby
25 lines
744 B
Ruby
# frozen_string_literal: true
|
|
#
|
|
# This pulls in https://github.com/gettalong/kramdown/pull/708 for kramdown v2.3.0.
|
|
# Remove this file when that pull request is merged and released.
|
|
require 'kramdown/converter'
|
|
require 'kramdown/converter/syntax_highlighter/rouge'
|
|
|
|
module Kramdown::Converter::SyntaxHighlighter
|
|
module Rouge
|
|
def self.formatter_class(opts = {})
|
|
case formatter = opts[:formatter]
|
|
when Class
|
|
formatter
|
|
when /\A[[:upper:]][[:alnum:]_]*\z/
|
|
::Rouge::Formatters.const_get(formatter, false)
|
|
else
|
|
# Available in Rouge 2.0 or later
|
|
::Rouge::Formatters::HTMLLegacy
|
|
end
|
|
rescue NameError
|
|
# Fallback to Rouge 1.x
|
|
::Rouge::Formatters::HTML
|
|
end
|
|
end
|
|
end
|