Class: DocTemplate::Tags::TablePreserveAlignmentTag
- Defined in:
- lib/doc_template/tags/table_preserve_alignment_tag.rb
Constant Summary collapse
- STYLE_RE =
/text-align:(left|center|right)/i.freeze
- TAG_NAME =
'table-preserve-alignment'
Constants inherited from BaseTag
BaseTag::SOFT_RETURN_RE, BaseTag::UNICODE_SPACES_RE
Instance Attribute Summary
Attributes inherited from BaseTag
Instance Method Summary collapse
Methods inherited from BaseTag
#before_tag, #check_tag_soft_return, #content_until_break, #content_until_materials, #ela2?, #ela6?, #gdoc?, #include_break?, #include_break_for?, #materials, parse, #parse_nested, #parse_template, #placeholder, #placeholder_id, #render, #replace_tag, #tag_data, tag_with_html_regexp, #template_name, #template_path, template_path_for
Instance Method Details
#parse(node, _options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/doc_template/tags/table_preserve_alignment_tag.rb', line 9 def parse(node, = {}) if (table = find_table node) # inside cells for each `p` with `text-align` css param we add specific class table.xpath('.//p').each do |el| if (m = STYLE_RE.match el['style']) el['style'] = el['style'].sub STYLE_RE, '' el['class'] = "text-#{m[1]}" end end @content = table.to_s replace_tag table end node.remove self end |