Class: Coradoc::Markdown::Serializer::Serializers::OpenBlock

Inherits:
ElementSerializer show all
Defined in:
lib/coradoc/markdown/serializer/serializers/open_block.rb

Overview

Open block: emits children inline unless id/classes are present, in which case it wraps them in an HTML ‘<div>`.

Instance Method Summary collapse

Methods inherited from ElementSerializer

call, handles?, #handles?, handles_type, #handles_type

Instance Method Details

#call(element, ctx) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/coradoc/markdown/serializer/serializers/open_block.rb', line 14

def call(element, ctx)
  children_md = element.children.map { |c| ctx.serialize(c) }.join("\n\n")
  return children_md unless needs_wrapper?(element)

  attrs = wrapper_attrs(element)
  %(<div#{attrs}>\n#{children_md}\n</div>)
end