Class: Coradoc::Markdown::Serializer
- Inherits:
-
Object
- Object
- Coradoc::Markdown::Serializer
- Defined in:
- lib/coradoc/markdown/serializer.rb,
lib/coradoc/markdown/serializer/config.rb,
lib/coradoc/markdown/serializer/flavor.rb,
lib/coradoc/markdown/serializer/runner.rb,
lib/coradoc/markdown/serializer/builder.rb,
lib/coradoc/markdown/serializer/context.rb,
lib/coradoc/markdown/serializer/registry.rb,
lib/coradoc/markdown/serializer/registrations.rb,
lib/coradoc/markdown/serializer/serializers/code.rb,
lib/coradoc/markdown/serializer/serializers/link.rb,
lib/coradoc/markdown/serializer/serializers/list.rb,
lib/coradoc/markdown/serializer/serializers/math.rb,
lib/coradoc/markdown/serializer/serializers/pass.rb,
lib/coradoc/markdown/serializer/serializers/image.rb,
lib/coradoc/markdown/serializer/serializers/table.rb,
lib/coradoc/markdown/serializer/serializers/verse.rb,
lib/coradoc/markdown/serializer/element_serializer.rb,
lib/coradoc/markdown/serializer/serializers/strong.rb,
lib/coradoc/markdown/serializer/serializers/comment.rb,
lib/coradoc/markdown/serializer/serializers/heading.rb,
lib/coradoc/markdown/serializer/serializers/literal.rb,
lib/coradoc/markdown/serializer/serializers/sidebar.rb,
lib/coradoc/markdown/serializer/serializers/document.rb,
lib/coradoc/markdown/serializer/serializers/emphasis.rb,
lib/coradoc/markdown/serializer/serializers/footnote.rb,
lib/coradoc/markdown/serializer/serializers/extension.rb,
lib/coradoc/markdown/serializer/serializers/highlight.rb,
lib/coradoc/markdown/serializer/serializers/paragraph.rb,
lib/coradoc/markdown/serializer/serializers/subscript.rb,
lib/coradoc/markdown/serializer/serializers/underline.rb,
lib/coradoc/markdown/serializer/serializers/admonition.rb,
lib/coradoc/markdown/serializer/serializers/blockquote.rb,
lib/coradoc/markdown/serializer/serializers/code_block.rb,
lib/coradoc/markdown/serializer/serializers/open_block.rb,
lib/coradoc/markdown/serializer/serializers/superscript.rb,
lib/coradoc/markdown/serializer/serializers/abbreviation.rb,
lib/coradoc/markdown/serializer/strategies/autolink/bare.rb,
lib/coradoc/markdown/serializer/strategies/autolink/base.rb,
lib/coradoc/markdown/serializer/strategies/autolink/none.rb,
lib/coradoc/markdown/serializer/serializers/example_block.rb,
lib/coradoc/markdown/serializer/serializers/strikethrough.rb,
lib/coradoc/markdown/serializer/strategies/autolink/angle.rb,
lib/coradoc/markdown/serializer/serializers/attribute_list.rb,
lib/coradoc/markdown/serializer/strategies/admonition/base.rb,
lib/coradoc/markdown/serializer/strategies/admonition/html.rb,
lib/coradoc/markdown/serializer/serializers/cross_reference.rb,
lib/coradoc/markdown/serializer/serializers/definition_list.rb,
lib/coradoc/markdown/serializer/serializers/hard_line_break.rb,
lib/coradoc/markdown/serializer/serializers/horizontal_rule.rb,
lib/coradoc/markdown/serializer/strategies/admonition/github.rb,
lib/coradoc/markdown/serializer/strategies/autolink/registry.rb,
lib/coradoc/markdown/serializer/serializers/footnote_reference.rb,
lib/coradoc/markdown/serializer/strategies/admonition/registry.rb,
lib/coradoc/markdown/serializer/strategies/admonition/container.rb,
lib/coradoc/markdown/serializer/strategies/admonition/gfm_alert.rb,
lib/coradoc/markdown/serializer/strategies/definition_list/base.rb,
lib/coradoc/markdown/serializer/strategies/definition_list/flat.rb,
lib/coradoc/markdown/serializer/strategies/definition_list/registry.rb,
lib/coradoc/markdown/serializer/strategies/definition_list/nested_html.rb
Overview
Serializer for Markdown Document models.
Two equivalent entry points:
# Build a configured runner (preferred for non-default options)
Serializer.build(:gfm) do |config|
config.admonition_style = :container
config.suppress_comments = false
end.call(element)
# One-shot with overrides
Serializer.call(element, markdown_flavor: :vitepress)
The legacy ‘serialize(element, options = {})` class method is kept as a thin alias for `call` so existing callers don’t break.
Defined Under Namespace
Modules: Flavor, Registrations, Serializers, Strategies Classes: Builder, Config, Context, ElementSerializer, Registry, Runner
Class Method Summary collapse
- .build(flavor = Flavor::DEFAULT_FLAVOR, &block) ⇒ Object
- .call(element, **options) ⇒ Object
- .new ⇒ Object
- .serialize(element, options = {}) ⇒ Object
Class Method Details
.build(flavor = Flavor::DEFAULT_FLAVOR, &block) ⇒ Object
25 26 27 28 29 |
# File 'lib/coradoc/markdown/serializer.rb', line 25 def build(flavor = Flavor::DEFAULT_FLAVOR, &block) builder = Builder.new(flavor) block&.call(builder) builder.runner end |
.call(element, **options) ⇒ Object
31 32 33 34 |
# File 'lib/coradoc/markdown/serializer.rb', line 31 def call(element, **) flavor = .delete(:markdown_flavor) || .delete(:flavor) || Flavor::DEFAULT_FLAVOR Builder.new(flavor).apply().call(element) end |
.new ⇒ Object
40 41 42 43 44 |
# File 'lib/coradoc/markdown/serializer.rb', line 40 def new(*) raise NoMethodError, 'Coradoc::Markdown::Serializer is no longer instantiable. ' \ 'Use Serializer.build(:gfm) or Serializer.call(element).' end |
.serialize(element, options = {}) ⇒ Object
36 37 38 |
# File 'lib/coradoc/markdown/serializer.rb', line 36 def serialize(element, = {}) call(element, **) end |