class ReverseMarkdown::Converters::Li

Public Instance Methods

convert(node, state = {}) click to toggle source
# File lib/reverse_markdown/converters/li.rb, line 4
def convert(node, state = {})
  content     = treat_children(node, state)
  indentation = indentation_from(state)
  prefix      = prefix_for(node)
  "#{indentation}#{prefix}#{content.chomp}\n"
end
indentation_from(state) click to toggle source
# File lib/reverse_markdown/converters/li.rb, line 20
def indentation_from(state)
  length = state.fetch(:ol_count, 0)
  '  ' * [length - 1, 0].max
end
prefix_for(node) click to toggle source
# File lib/reverse_markdown/converters/li.rb, line 11
def prefix_for(node)
  if node.parent.name == 'ol'
    index = node.parent.xpath('li').index(node)
    "#{index.to_i + 1}. "
  else
    '- '
  end
end