class ReverseMarkdown::Converters::Pre

Public Instance Methods

convert(node, state = {}) click to toggle source
# File lib/reverse_markdown/converters/pre.rb, line 4
def convert(node, state = {})
  content = treat_children(node, state)
  if ReverseMarkdown.config.github_flavored
    "\n```#{language(node)}\n" << content.strip << "\n```\n"
  else
    "\n\n    " << content.lines.to_a.join("    ") << "\n\n"
  end
end

Private Instance Methods

language(node) click to toggle source
# File lib/reverse_markdown/converters/pre.rb, line 27
def language(node)
  lang = language_from_highlight_class(node)
  lang || language_from_confluence_class(node)
end
language_from_confluence_class(node) click to toggle source
# File lib/reverse_markdown/converters/pre.rb, line 36
def language_from_confluence_class(node)
  node['class'].to_s[/brush:\s?(:?.*);/, 1]
end
language_from_highlight_class(node) click to toggle source
# File lib/reverse_markdown/converters/pre.rb, line 32
def language_from_highlight_class(node)
  node.parent['class'].to_s[/highlight-([a-zA-Z0-9]+)/, 1]
end
treat(node, state) click to toggle source

Override treat as proposed in github.com/xijo/reverse_markdown/pull/69

Calls superclass method ReverseMarkdown::Converters::Base#treat
# File lib/reverse_markdown/converters/pre.rb, line 16
def treat(node, state)
  case node.name
  when 'code'
    node.text
  when 'br'
    "\n"
  else
    super
  end
end