class DocTemplate::Tags::InsetTag
Constants
- STYLES_REGEXP
- TAG_NAME
Public Instance Methods
parse(node, opts = {})
click to toggle source
# File lib/doc_template/tags/inset_tag.rb, line 12 def parse(node, opts = {}) nodes = block_nodes(node) { |n| preserve_styles n, opts } content = parse_nested nodes.map(&:to_html).join, opts nodes.each(&:remove) @content = if gdoc?(opts) %(#{content}<p class="do-not-strip"></p>) else %(<div class="o-ld-inset">#{content}</div>) end replace_tag node self end
Private Instance Methods
add_css_class(el, *classes)
click to toggle source
# File lib/doc_template/tags/inset_tag.rb, line 37 def add_css_class(el, *classes) existing = (el[:class] || '').split(/\s+/) el[:class] = existing.concat(classes).uniq.join(' ') end
preserve_styles(node, opts)
click to toggle source
# File lib/doc_template/tags/inset_tag.rb, line 28 def preserve_styles(node, opts) add_css_class(node, 'o-ld-inset') if gdoc?(opts) node.children.each do |el| el['class'] = "#{el['class']} text-bold" if el['style'] =~ STYLES_REGEXP[:bold] el['class'] = "#{el['class']} text-italic" if el['style'] =~ STYLES_REGEXP[:italic] end node end