# encoding: utf-8 require 'kramdown' # External module Kramdown # External module Converter # External module SyntaxHighlighter # Middleman Presentation Converter module MiddlemanPresentation def self.call(converter, text, lang, type, _unused_opts) opts = converter.options[:syntax_highlighter_opts].dup text = ERB::Util.html_escape(text) case type when :span %(#{text}) when :block %(
#{text}
) else %(
#{text}
) end end end end end end # External module Kramdown # External module Converter klass = ::Kramdown::Converter::SyntaxHighlighter::MiddlemanPresentation kn_down = :middleman_presentation add_syntax_highlighter(kn_down) do |converter, text, lang, type, opts| add_syntax_highlighter(kn_down, klass) syntax_highlighter(kn_down).call(converter, text, lang, type, opts) end end end