Module: Coradoc::Input::Html::Converters::PositionalFormatting

Included in:
Sub, Sup
Defined in:
lib/coradoc/html/input/converters/positional_formatting.rb

Overview

Shared logic for superscript/subscript converters.

Subclasses must implement ‘element_class` returning the CoreModel class (e.g., SuperscriptElement, SubscriptElement).

Instance Method Summary collapse

Instance Method Details

#to_coradoc(node, state = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/coradoc/html/input/converters/positional_formatting.rb', line 12

def to_coradoc(node, state = {})
  leading_whitespace, trailing_whitespace = extract_leading_trailing_whitespace(node)

  content = treat_children_coradoc(node, state)

  return nil if content_empty?(content)

  e = element_class.new(content: content)
  result = [leading_whitespace, e, trailing_whitespace].compact
  result.length == 1 ? result.first : result
end