coradoc 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +48 -5
- data/coradoc-docx/lib/coradoc/docx/transform/context.rb +1 -1
- data/coradoc-docx/lib/coradoc/docx/transform/from_core_model.rb +13 -6
- data/coradoc-docx/lib/coradoc/docx/transform/numbering_resolver.rb +9 -7
- data/coradoc-docx/lib/coradoc/docx/transform/ordered_content.rb +2 -2
- data/coradoc-docx/lib/coradoc/docx/transform/rules/image_rule.rb +4 -1
- data/coradoc-docx/lib/coradoc/docx/transform/rules/math_rule.rb +2 -1
- data/coradoc-docx/lib/coradoc/docx/transform/rules/run_rule.rb +17 -30
- data/coradoc-docx/lib/coradoc/docx/transform/rules/simple_field_rule.rb +3 -5
- data/coradoc-docx/lib/coradoc/docx/transform/rules/table_rule.rb +3 -4
- data/coradoc-docx/lib/coradoc/docx/transform/style_resolver.rb +19 -24
- data/coradoc-docx/lib/coradoc/docx/transform/to_core_model.rb +18 -11
- data/coradoc-html/lib/coradoc/html/base.rb +3 -7
- data/coradoc-html/lib/coradoc/html/converter_base.rb +5 -15
- data/coradoc-html/lib/coradoc/html/converters/base.rb +18 -27
- data/coradoc-html/lib/coradoc/html/converters/comment_line.rb +2 -2
- data/coradoc-html/lib/coradoc/html/converters/link.rb +1 -1
- data/coradoc-html/lib/coradoc/html/converters/list_item.rb +3 -3
- data/coradoc-html/lib/coradoc/html/converters/ordered.rb +1 -1
- data/coradoc-html/lib/coradoc/html/converters/span.rb +2 -2
- data/coradoc-html/lib/coradoc/html/converters/table.rb +3 -3
- data/coradoc-html/lib/coradoc/html/converters/table_cell.rb +14 -28
- data/coradoc-html/lib/coradoc/html/converters/table_row.rb +2 -2
- data/coradoc-html/lib/coradoc/html/converters/text_element.rb +1 -5
- data/coradoc-html/lib/coradoc/html/input/converters/a.rb +2 -2
- data/coradoc-html/lib/coradoc/html/input/converters/dl.rb +1 -1
- data/coradoc-html/lib/coradoc/html/input/converters/figure.rb +2 -2
- data/coradoc-html/lib/coradoc/html/input/converters/markup.rb +3 -3
- data/coradoc-html/lib/coradoc/html/input/converters/p.rb +1 -1
- data/coradoc-html/lib/coradoc/html/input/converters/td.rb +1 -1
- data/coradoc-html/lib/coradoc/html/input/converters.rb +1 -2
- data/coradoc-html/lib/coradoc/html/input/html_converter.rb +3 -3
- data/coradoc-html/lib/coradoc/html/input/plugin.rb +2 -2
- data/coradoc-html/lib/coradoc/html/renderer.rb +4 -6
- data/coradoc-html/lib/coradoc/html/theme/base.rb +2 -3
- data/coradoc-html/lib/coradoc/html/theme/classic_renderer.rb +9 -12
- data/coradoc-html/lib/coradoc/html/theme/modern/serializers/document_serializer.rb +3 -3
- data/coradoc-markdown/lib/coradoc/markdown/model/base.rb +6 -5
- data/coradoc-markdown/lib/coradoc/markdown/serializer.rb +2 -2
- data/coradoc-markdown/lib/coradoc/markdown/toc_generator.rb +4 -5
- data/coradoc-markdown/lib/coradoc/markdown/transformer.rb +5 -3
- data/lib/coradoc/version.rb +1 -1
- metadata +1 -1
|
@@ -128,13 +128,12 @@ module Coradoc
|
|
|
128
128
|
# Extract headings from document blocks
|
|
129
129
|
def extract_headings(document)
|
|
130
130
|
headings = []
|
|
131
|
-
return headings unless document.
|
|
131
|
+
return headings unless document.is_a?(Coradoc::Markdown::Document)
|
|
132
132
|
|
|
133
133
|
Array(document.blocks).each do |block|
|
|
134
134
|
if block.is_a?(Coradoc::Markdown::Heading)
|
|
135
135
|
headings << block if within_level_range?(block.level)
|
|
136
|
-
elsif block.
|
|
137
|
-
# Recursively search nested blocks
|
|
136
|
+
elsif block.is_a?(Coradoc::Markdown::Base) && block.class.attributes.key?(:blocks)
|
|
138
137
|
headings.concat(extract_headings_from_nested(block))
|
|
139
138
|
end
|
|
140
139
|
end
|
|
@@ -144,12 +143,12 @@ module Coradoc
|
|
|
144
143
|
|
|
145
144
|
def extract_headings_from_nested(block)
|
|
146
145
|
headings = []
|
|
147
|
-
return headings unless block.
|
|
146
|
+
return headings unless block.is_a?(Coradoc::Markdown::Base) && block.class.attributes.key?(:blocks)
|
|
148
147
|
|
|
149
148
|
Array(block.blocks).each do |nested|
|
|
150
149
|
if nested.is_a?(Coradoc::Markdown::Heading)
|
|
151
150
|
headings << nested if within_level_range?(nested.level)
|
|
152
|
-
elsif nested.
|
|
151
|
+
elsif nested.is_a?(Coradoc::Markdown::Base) && nested.class.attributes.key?(:blocks)
|
|
153
152
|
headings.concat(extract_headings_from_nested(nested))
|
|
154
153
|
end
|
|
155
154
|
end
|
|
@@ -41,7 +41,7 @@ module Coradoc
|
|
|
41
41
|
rule(block_quote: subtree(:content)) do
|
|
42
42
|
# Recursively transform block quote content
|
|
43
43
|
transformed = content.is_a?(Array) ? content.map { |c| transform_element(c) } : [transform_element(content)]
|
|
44
|
-
text = transformed.map { |c| c.
|
|
44
|
+
text = transformed.map { |c| c.is_a?(Base) && c.class.attributes.key?(:text) ? c.text : c.to_s }.join("\n")
|
|
45
45
|
Blockquote.new(content: text)
|
|
46
46
|
end
|
|
47
47
|
|
|
@@ -134,7 +134,7 @@ module Coradoc
|
|
|
134
134
|
|
|
135
135
|
# Fallback for unmatched elements
|
|
136
136
|
rule(simple(:value)) do
|
|
137
|
-
Text.new(content: value.to_s)
|
|
137
|
+
Text.new(content: value.to_s)
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
class << self
|
|
@@ -268,7 +268,9 @@ module Coradoc
|
|
|
268
268
|
if element.key?(:block_quote)
|
|
269
269
|
content = element[:block_quote]
|
|
270
270
|
transformed = content.is_a?(Array) ? content.map { |c| transform_element(c) } : [transform_element(content)]
|
|
271
|
-
text = transformed.compact.map
|
|
271
|
+
text = transformed.compact.map do |c|
|
|
272
|
+
c.is_a?(Base) && c.class.attributes.key?(:text) ? c.text : c.to_s
|
|
273
|
+
end.join("\n")
|
|
272
274
|
blockquote = Blockquote.new(content: text)
|
|
273
275
|
apply_ial_to_element(blockquote, element[:ial]) if element.key?(:ial)
|
|
274
276
|
return blockquote
|
data/lib/coradoc/version.rb
CHANGED