Class: Kramdown::Merge::Provider

Inherits:
Markdown::Merge::SourcePreservingProvider
  • Object
show all
Defined in:
lib/kramdown/merge/provider.rb,
sig/kramdown/merge.rbs

Overview

Native Kramdown backend configuration for the shared provider engine.

Instance Method Summary collapse

Constructor Details

#initializeProvider

rubocop:disable Metrics/MethodLength -- constructor declares the complete backend boundary



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kramdown/merge/provider.rb', line 9

def initialize
  super(
    provider_id: 'ruby.markdown.kramdown',
    role: :backend,
    backend: Markdown::Merge::ProviderBackend.new(
      id: :kramdown,
      package: PACKAGE_NAME,
      dialects: %i[markdown kramdown],
      parser: lambda { |source|
        parser = Backend::Parser.new
        parser.language = Backend::Language.markdown
        parser.parse(source)
      },
      headings: lambda { |root, source|
        Markdown::Merge::ProviderBackend.native_headings(root, source, kramdown: true)
      }
    )
  )
end