class ReverseAsciidoctor::Converters::Pre

Public Instance Methods

convert(node, state = {}) click to toggle source
# File lib/reverse_asciidoctor/converters/pre.rb, line 4
def convert(node, state = {})
  id = node['id']
  anchor = id ? "[[#{id}]]\n" : ""
  lang = language(node)
  content = treat_children(node, state)
  if lang
    "\n\n#{anchor}[source,#{lang}]\n----\n" << content.lines.to_a.join("") << "\n----\n\n"
  else
    "\n\n#{anchor}....\n" << content.lines.to_a.join("") << "\n....\n\n"
  end
end

Private Instance Methods

language(node) click to toggle source
# File lib/reverse_asciidoctor/converters/pre.rb, line 22
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_asciidoctor/converters/pre.rb, line 31
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_asciidoctor/converters/pre.rb, line 27
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
# File lib/reverse_asciidoctor/converters/pre.rb, line 18
def treat(node, state)
  node.to_s
end