Class: Markawesome::Transformer

Inherits:
Object
  • Object
show all
Defined in:
lib/markawesome/transformer.rb

Overview

Main transformer that orchestrates all component transformers

Class Method Summary collapse

Class Method Details

.process(content, options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/markawesome/transformer.rb', line 10

def self.process(content, options = {})
  content, tokens = CodeBlockProtector.protect(content)

  content = LayoutTransformer.transform(content)
  content = PopoverTransformer.transform(content)
  content = BadgeTransformer.transform(content)
  content = ButtonTransformer.transform(content)
  content = CalloutTransformer.transform(content)
  content = CardTransformer.transform(content)
  content = CarouselTransformer.transform(content)
  content = ComparisonTransformer.transform(content)
  content = CopyButtonTransformer.transform(content)
  content = DetailsTransformer.transform(content)

  # Apply image dialog transformer BEFORE dialog transformer if enabled
  if options[:image_dialog]
    config = options[:image_dialog].is_a?(Hash) ? options[:image_dialog] : {}
    content = ImageDialogTransformer.transform(content, config)
  end

  content = DialogTransformer.transform(content)
  content = IconTransformer.transform(content)
  content = TagTransformer.transform(content)
  content = TabsTransformer.transform(content)

  CodeBlockProtector.restore(content, tokens)
end