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