Sha256: 2938b5530fc93da3f3ce099235e06f5089a01718d2aef8671b966709be17b546
Contents?: true
Size: 629 Bytes
Versions: 5
Compression:
Stored size: 629 Bytes
Contents
require_relative '../base_node_renderer' module RichTextRenderer # Renderer for Text nodes. class TextRenderer < BaseNodeRenderer # Renders text nodes with all markings. def render(node) node = Marshal.load(Marshal.dump(node)) # Clone the node node['value'] = CGI.escapeHTML(node['value']) node.fetch('marks', []).each do |mark| renderer = mappings[mark['type']] return mappings[nil].new(mappings).render(mark) if renderer.nil? && mappings.key?(nil) node['value'] = renderer.new(mappings).render(node) unless renderer.nil? end node['value'] end end end
Version data entries
5 entries across 5 versions & 1 rubygems