Sha256: 7389e74ac50133e69f13057ea217e153060f33fe5d1e5418ba688942d44073e1
Contents?: true
Size: 1.04 KB
Versions: 6
Compression:
Stored size: 1.04 KB
Contents
module ReverseMarkdown module Converters class Pre < Base 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 # Override #treat as proposed in https://github.com/xijo/reverse_markdown/pull/69 def treat(node, state) case node.name when 'code' node.text when 'br' "\n" else super end end def language(node) lang = language_from_highlight_class(node) lang || language_from_confluence_class(node) end def language_from_highlight_class(node) node.parent['class'].to_s[/highlight-([a-zA-Z0-9]+)/, 1] end def language_from_confluence_class(node) node['class'].to_s[/brush:\s?(:?.*);/, 1] end end register :pre, Pre.new end end
Version data entries
6 entries across 6 versions & 1 rubygems