Sha256: 82d284dafc91b95e5810e39e7fad4fad89ed27e91d590b5b21551205fe25d91b

Contents?: true

Size: 657 Bytes

Versions: 2

Compression:

Stored size: 657 Bytes

Contents

# frozen_string_literal: true

module Thredded
  module MarkdownKatex
    module Kramdown
      # The KaTeX converter engine for Kramdown.
      module KatexConverter
        def self.call(_converter, el, _opts)
          type = el.options[:category]
          Katex.render(
            el.value, display_mode: type == :block, throw_on_error: false
          )
        end
      end
    end
  end
end

require 'kramdown/converter'
Kramdown::Converter.module_eval do
  add_math_engine :katex do |converter, el, opts|
    add_math_engine(:katex, ::Thredded::MarkdownKatex::Kramdown::KatexConverter)
    math_engine(:katex).call(converter, el, opts)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
thredded-markdown_katex-0.2.0 lib/thredded/markdown_katex/kramdown/katex_converter.rb
thredded-markdown_katex-0.1.2 lib/thredded/markdown_katex/kramdown/katex_converter.rb