Module: Coradoc::Markdown::Serializer::Strategies::Admonition::Registry

Defined in:
lib/coradoc/markdown/serializer/strategies/admonition/registry.rb

Overview

Resolves the active admonition strategy from ‘config.admonition_style`.

Modes:

:github    → > **NOTE:** text         (broad compat — DEFAULT for :gfm)
:gfm_alert → > [!NOTE]\n> text         (GFM native since 2024)
:container → :::note\n... \n:::         (VitePress / markdown-it)
:html      → <div class="note">...</div>

Constant Summary collapse

MODES =
{
  github: Github,
  gfm_alert: GfmAlert,
  container: Container,
  html: Html
}.freeze

Class Method Summary collapse

Class Method Details

.lookup(mode) ⇒ Object



30
31
32
33
34
35
# File 'lib/coradoc/markdown/serializer/strategies/admonition/registry.rb', line 30

def lookup(mode)
  MODES.fetch(mode.to_sym) do
    raise ArgumentError, "Unknown admonition mode: #{mode.inspect}. " \
                         "Known: #{MODES.keys.inspect}"
  end
end

.render(admonition, ctx:) ⇒ Object



41
42
43
# File 'lib/coradoc/markdown/serializer/strategies/admonition/registry.rb', line 41

def render(admonition, ctx:)
  resolve(ctx: ctx).render(admonition, ctx)
end

.resolve(ctx:) ⇒ Object



37
38
39
# File 'lib/coradoc/markdown/serializer/strategies/admonition/registry.rb', line 37

def resolve(ctx:)
  lookup(ctx.config.admonition_style)
end