Class: ReverseAdoc::Converters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/reverse_adoc/converters/base.rb

Direct Known Subclasses

A, Aside, Audio, Blockquote, Br, Bypass, Code, Div, Drop, Em, Figure, H, Head, Hr, Ignore, Img, Li, Mark, Math, Ol, P, PassThrough, Pre, Q, Strong, Sub, Sup, Table, Td, Text, Tr, Video

Instance Method Summary collapse

Instance Method Details

#escape_keychars(string) ⇒ Object



14
15
16
17
18
# File 'lib/reverse_adoc/converters/base.rb', line 14

def escape_keychars(string)
  subs = { '*' => '\*', '_' => '\_' }
  string
    .gsub(/((?<=\s)[\*_]+)|[\*_]+(?=\s)/) { |n| n.chars.map { |char| subs[char] }.join }
end

#extract_title(node) ⇒ Object



20
21
22
23
# File 'lib/reverse_adoc/converters/base.rb', line 20

def extract_title(node)
  title = escape_keychars(node['title'].to_s)
  title.empty? ? '' : %[ #{title}]
end

#treat(node, state) ⇒ Object



10
11
12
# File 'lib/reverse_adoc/converters/base.rb', line 10

def treat(node, state)
  ReverseAdoc::Converters.lookup(node.name).convert(node, state)
end

#treat_children(node, state) ⇒ Object



4
5
6
7
8
# File 'lib/reverse_adoc/converters/base.rb', line 4

def treat_children(node, state)
  node.children.inject('') do |memo, child|
    memo << treat(child, state)
  end
end