class ReverseMarkdown::Converters::Pre
Public Instance Methods
convert(node, state = {})
click to toggle source
# File lib/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 8 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/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 32 def language(node) lang = language_from_highlight_class(node) lang || language_from_confluence_class(node) lang || language_from_rouge_class(node) end
language_from_confluence_class(node)
click to toggle source
# File lib/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 42 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/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 38 def language_from_highlight_class(node) node.parent['class'].to_s[/highlight-([a-zA-Z0-9]+)/, 1] end
language_from_rouge_class(node)
click to toggle source
# File lib/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 46 def language_from_rouge_class(node) node['class'].to_s[/highlight\s(.*)/, 1] end
treat(node, state)
click to toggle source
Override treat
as proposed in github.com/xijo/reverse_markdown/pull/69
Calls superclass method
# File lib/github_to_canvas_quiz/reverse_markdown/converters/pre.rb, line 20 def treat(node, state) case node.name # preserve newline in <span>, <code> and text blocks when 'text', 'span', 'code' node.text when 'br' "\n" else super end end