goldendocx 0.2.2

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.
Files changed (152) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.rubocop.yml +47 -0
  4. data/CHANGELOG.md +43 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +101 -0
  7. data/README.md +76 -0
  8. data/Rakefile +10 -0
  9. data/coverage/.last_run.json +5 -0
  10. data/demo/charts/create_bar_chart.rb +30 -0
  11. data/demo/charts/create_column_chart.rb +29 -0
  12. data/demo/charts/create_doughnut_chart.rb +28 -0
  13. data/demo/charts/create_line_chart.rb +41 -0
  14. data/demo/images/append_image.rb +21 -0
  15. data/demo/images/append_styled_image.rb +14 -0
  16. data/demo/tables/create_embed_image_table.rb +42 -0
  17. data/demo/tables/create_plain_table.rb +22 -0
  18. data/demo/tables/create_styled_table.rb +36 -0
  19. data/demo/templates/bg.png +0 -0
  20. data/demo/templates/blankDocument.docx +0 -0
  21. data/demo/templates/image_base64 +1 -0
  22. data/demo/templates/styles/reportLabel +19 -0
  23. data/demo/templates/styles/reportSubTitle +20 -0
  24. data/demo/templates/styles/reportTable +27 -0
  25. data/demo/templates/styles/reportTitle +19 -0
  26. data/demo/texts/append_plain_text.rb +13 -0
  27. data/demo/texts/append_styled_text.rb +23 -0
  28. data/lib/goldendocx/charts/category_axis.rb +20 -0
  29. data/lib/goldendocx/charts/properties/auto_title_deleted_property.rb +16 -0
  30. data/lib/goldendocx/charts/properties/axis_property.rb +16 -0
  31. data/lib/goldendocx/charts/properties/bar_chart_property.rb +28 -0
  32. data/lib/goldendocx/charts/properties/chart_property.rb +16 -0
  33. data/lib/goldendocx/charts/properties/column_chart_property.rb +28 -0
  34. data/lib/goldendocx/charts/properties/cross_axis_property.rb +16 -0
  35. data/lib/goldendocx/charts/properties/data_lables_property.rb +16 -0
  36. data/lib/goldendocx/charts/properties/direction_property.rb +16 -0
  37. data/lib/goldendocx/charts/properties/doughnut_chart_property.rb +17 -0
  38. data/lib/goldendocx/charts/properties/grouping_property.rb +16 -0
  39. data/lib/goldendocx/charts/properties/hole_property.rb +16 -0
  40. data/lib/goldendocx/charts/properties/index_property.rb +16 -0
  41. data/lib/goldendocx/charts/properties/label_hidden_property.rb +16 -0
  42. data/lib/goldendocx/charts/properties/layout_property.rb +14 -0
  43. data/lib/goldendocx/charts/properties/line_chart_property.rb +24 -0
  44. data/lib/goldendocx/charts/properties/marker_property.rb +16 -0
  45. data/lib/goldendocx/charts/properties/number_list_property.rb +17 -0
  46. data/lib/goldendocx/charts/properties/order_property.rb +16 -0
  47. data/lib/goldendocx/charts/properties/plot_area_property.rb +23 -0
  48. data/lib/goldendocx/charts/properties/point_count_property.rb +16 -0
  49. data/lib/goldendocx/charts/properties/point_property.rb +18 -0
  50. data/lib/goldendocx/charts/properties/rounded_corner_property.rb +16 -0
  51. data/lib/goldendocx/charts/properties/series_category_property.rb +16 -0
  52. data/lib/goldendocx/charts/properties/series_text_property.rb +16 -0
  53. data/lib/goldendocx/charts/properties/series_value_property.rb +16 -0
  54. data/lib/goldendocx/charts/properties/smooth_property.rb +14 -0
  55. data/lib/goldendocx/charts/properties/string_list_property.rb +17 -0
  56. data/lib/goldendocx/charts/properties/symbol_property.rb +16 -0
  57. data/lib/goldendocx/charts/properties/text_value_property.rb +16 -0
  58. data/lib/goldendocx/charts/properties.rb +12 -0
  59. data/lib/goldendocx/charts/reference.rb +16 -0
  60. data/lib/goldendocx/charts/series.rb +57 -0
  61. data/lib/goldendocx/charts/value_axis.rb +20 -0
  62. data/lib/goldendocx/charts.rb +26 -0
  63. data/lib/goldendocx/components/bar_chart.rb +17 -0
  64. data/lib/goldendocx/components/chart.rb +55 -0
  65. data/lib/goldendocx/components/column_chart.rb +17 -0
  66. data/lib/goldendocx/components/doughnut_chart.rb +17 -0
  67. data/lib/goldendocx/components/image.rb +77 -0
  68. data/lib/goldendocx/components/line_chart.rb +17 -0
  69. data/lib/goldendocx/components/paragraph.rb +23 -0
  70. data/lib/goldendocx/components/properties/align_property.rb +16 -0
  71. data/lib/goldendocx/components/properties/bold_property.rb +16 -0
  72. data/lib/goldendocx/components/properties/color_property.rb +16 -0
  73. data/lib/goldendocx/components/properties/drawing.rb +16 -0
  74. data/lib/goldendocx/components/properties/extents_property.rb +17 -0
  75. data/lib/goldendocx/components/properties/graphic_data_property.rb +17 -0
  76. data/lib/goldendocx/components/properties/graphic_frame_locks_property.rb +18 -0
  77. data/lib/goldendocx/components/properties/graphic_frame_property.rb +16 -0
  78. data/lib/goldendocx/components/properties/graphic_property.rb +16 -0
  79. data/lib/goldendocx/components/properties/inline.rb +20 -0
  80. data/lib/goldendocx/components/properties/non_visual_property.rb +17 -0
  81. data/lib/goldendocx/components/properties/padding_property.rb +19 -0
  82. data/lib/goldendocx/components/properties/property.rb +17 -0
  83. data/lib/goldendocx/components/properties/run.rb +20 -0
  84. data/lib/goldendocx/components/properties/run_property.rb +17 -0
  85. data/lib/goldendocx/components/properties/style_property.rb +16 -0
  86. data/lib/goldendocx/components/properties/textual.rb +16 -0
  87. data/lib/goldendocx/components/properties.rb +12 -0
  88. data/lib/goldendocx/components/table.rb +44 -0
  89. data/lib/goldendocx/components/text.rb +35 -0
  90. data/lib/goldendocx/components.rb +16 -0
  91. data/lib/goldendocx/configuration.rb +18 -0
  92. data/lib/goldendocx/content_types/default.rb +22 -0
  93. data/lib/goldendocx/content_types/override.rb +22 -0
  94. data/lib/goldendocx/document.rb +51 -0
  95. data/lib/goldendocx/documents/body.rb +90 -0
  96. data/lib/goldendocx/documents/document.rb +29 -0
  97. data/lib/goldendocx/documents/element.rb +23 -0
  98. data/lib/goldendocx/documents/relationship.rb +17 -0
  99. data/lib/goldendocx/documents/relationships.rb +39 -0
  100. data/lib/goldendocx/documents/style.rb +21 -0
  101. data/lib/goldendocx/documents/styles.rb +74 -0
  102. data/lib/goldendocx/documents/unparsed_style.rb +17 -0
  103. data/lib/goldendocx/documents.rb +10 -0
  104. data/lib/goldendocx/docx.rb +108 -0
  105. data/lib/goldendocx/element.rb +192 -0
  106. data/lib/goldendocx/images/picture.rb +41 -0
  107. data/lib/goldendocx/images/properties/blip_property.rb +16 -0
  108. data/lib/goldendocx/images/properties/drawing_property.rb +14 -0
  109. data/lib/goldendocx/images/properties/extents_property.rb +17 -0
  110. data/lib/goldendocx/images/properties/fill_rectangle_property.rb +14 -0
  111. data/lib/goldendocx/images/properties/image_data_property.rb +17 -0
  112. data/lib/goldendocx/images/properties/non_visual_drawing_property.rb +17 -0
  113. data/lib/goldendocx/images/properties/non_visual_picture_property.rb +17 -0
  114. data/lib/goldendocx/images/properties/picture_fill_property.rb +17 -0
  115. data/lib/goldendocx/images/properties/picture_shape_property.rb +16 -0
  116. data/lib/goldendocx/images/properties/shape_property.rb +30 -0
  117. data/lib/goldendocx/images/properties/stretch_property.rb +17 -0
  118. data/lib/goldendocx/images/properties/transform_property.rb +16 -0
  119. data/lib/goldendocx/images/properties.rb +12 -0
  120. data/lib/goldendocx/images/shape.rb +32 -0
  121. data/lib/goldendocx/images.rb +12 -0
  122. data/lib/goldendocx/parts/content_types.rb +63 -0
  123. data/lib/goldendocx/parts/documents.rb +103 -0
  124. data/lib/goldendocx/parts/media.rb +43 -0
  125. data/lib/goldendocx/parts.rb +10 -0
  126. data/lib/goldendocx/tables/cell.rb +33 -0
  127. data/lib/goldendocx/tables/header_cell.rb +16 -0
  128. data/lib/goldendocx/tables/header_row.rb +14 -0
  129. data/lib/goldendocx/tables/image_cell.rb +23 -0
  130. data/lib/goldendocx/tables/properties/cell_property.rb +19 -0
  131. data/lib/goldendocx/tables/properties/cell_width_property.rb +17 -0
  132. data/lib/goldendocx/tables/properties/grid_column_property.rb +16 -0
  133. data/lib/goldendocx/tables/properties/grid_property.rb +16 -0
  134. data/lib/goldendocx/tables/properties/grid_span_property.rb +16 -0
  135. data/lib/goldendocx/tables/properties/header_row_property.rb +14 -0
  136. data/lib/goldendocx/tables/properties/property.rb +17 -0
  137. data/lib/goldendocx/tables/properties/row_height_property.rb +17 -0
  138. data/lib/goldendocx/tables/properties/row_property.rb +16 -0
  139. data/lib/goldendocx/tables/properties/shading_property.rb +18 -0
  140. data/lib/goldendocx/tables/properties/style_property.rb +16 -0
  141. data/lib/goldendocx/tables/properties/vertical_align_property.rb +16 -0
  142. data/lib/goldendocx/tables/properties/width_property.rb +17 -0
  143. data/lib/goldendocx/tables/properties.rb +12 -0
  144. data/lib/goldendocx/tables/row.rb +28 -0
  145. data/lib/goldendocx/tables.rb +19 -0
  146. data/lib/goldendocx/units.rb +11 -0
  147. data/lib/goldendocx/version.rb +5 -0
  148. data/lib/goldendocx/xml_serializers/nokogiri.rb +66 -0
  149. data/lib/goldendocx/xml_serializers/ox.rb +63 -0
  150. data/lib/goldendocx.rb +72 -0
  151. data/sig/goldendocx.rbs +4 -0
  152. metadata +347 -0
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Goldendocx
4
+ module Tables
5
+ class Row
6
+ include Goldendocx::Element
7
+
8
+ namespace :w
9
+ tag :tr
10
+
11
+ embeds_one :row_property, class_name: 'Goldendocx::Tables::Properties::RowProperty', auto_build: true
12
+ embeds_many :cells, class_name: 'Goldendocx::Tables::Cell'
13
+
14
+ def height=(height)
15
+ row_property.height.height = height if height
16
+ end
17
+
18
+ def add_cell(data)
19
+ cell = case data
20
+ when Goldendocx::Tables::Cell then data
21
+ when Hash then Goldendocx::Tables::Cell.new(data)
22
+ else Goldendocx::Tables::Cell.new(content: data.to_s)
23
+ end
24
+ cells << cell
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Goldendocx
4
+ module Tables
5
+ DEFAULT_TABLE_DXA_WIDTH = 8600
6
+ DEFAULT_CELL_DXA_WIDTH = 600
7
+ DEFAULT_CELL_DXA_HEIGHT = 600
8
+
9
+ DEFAULT_BACKGROUND_COLOR = 'F5F5F5'
10
+ end
11
+ end
12
+
13
+ require 'goldendocx/tables/properties'
14
+ require 'goldendocx/tables/row'
15
+ require 'goldendocx/tables/cell'
16
+
17
+ Dir.glob(File.join(File.dirname(__FILE__), 'tables', '*.rb').to_s).sort.each do |file|
18
+ require file
19
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # About Measuring units https://startbigthinksmall.wordpress.com/2010/01/04/points-inches-and-emus-measuring-units-in-office-open-xml/
4
+ module Goldendocx
5
+ module Units
6
+ EMU_PER_PIXEL = 9525
7
+ EMU_PER_POINT = 12700
8
+ EMU_PER_CENTIMETER = 360000
9
+ EMU_PER_DXA = 635
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Goldendocx
4
+ VERSION = '0.2.2'
5
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'nokogiri'
4
+
5
+ module Goldendocx
6
+ module XmlSerializers
7
+ module Nokogiri
8
+ class << self
9
+ DEFAULT_BUILD_OPTIONS = ::Nokogiri::XML::Node::SaveOptions.new.tap do |options|
10
+ options.default_xml
11
+ options.no_declaration
12
+ end
13
+
14
+ def parse(xml, paths = [])
15
+ xml = ::Nokogiri::XML(xml)
16
+ # Should with namespaces
17
+ xml = xml.xpath(paths.map { |path| path.include?(':') || path == '*' ? path : ['xmlns', path].join(':') }.join('/')) unless paths.empty?
18
+ xml
19
+ end
20
+
21
+ def build_xml(tag, &block)
22
+ build_element(tag, &block).to_xml(indent: 0, save_with: DEFAULT_BUILD_OPTIONS).delete("\n")
23
+ end
24
+
25
+ def build_document_xml(tag, namespaces = [], ignore_namespaces = [], &block)
26
+ build_document(tag, namespaces, ignore_namespaces, &block).to_xml(indent: 0).delete("\n")
27
+ end
28
+
29
+ def build_document(tag, namespaces = [], ignore_namespaces = [])
30
+ ::Nokogiri::XML('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>').tap do |root|
31
+ root << ::Nokogiri::XML::Node.new(tag, root).tap do |document|
32
+ Goldendocx::NAMESPACES.slice(*namespaces).each do |key, namespace|
33
+ document.add_namespace key.to_s, namespace
34
+ end
35
+ document['mc:Ignorable'] = ignore_namespaces.join(' ') unless ignore_namespaces.empty?
36
+
37
+ yield(document) if block_given?
38
+ end
39
+ end
40
+ end
41
+
42
+ def build_element(tag, parent: nil)
43
+ parent ||= ::Nokogiri::XML('<?xml version="1.0"')
44
+ ::Nokogiri::XML::Node.new(tag, parent).tap do |element|
45
+ yield(element) if block_given?
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ # FIXME: Temporarily here to provider syntactic sugar
54
+ module Nokogiri
55
+ module XML
56
+ class Node
57
+ def <<(node_or_tags)
58
+ # FIXME: Add this line to transform element implicitly
59
+ node_or_tags = node_or_tags.public_send(:to_element, parent: self) if node_or_tags.respond_to?(:to_element)
60
+
61
+ add_child(node_or_tags)
62
+ self
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ox'
4
+
5
+ module Goldendocx
6
+ module XmlSerializers
7
+ class Ox
8
+ class << self
9
+ def parse(xml, paths = [])
10
+ xml = ::Ox.parse(xml)
11
+ xml = xml.locate(paths.join('/')) unless paths.empty?
12
+ xml
13
+ end
14
+
15
+ def build_xml(tag, &block)
16
+ xml = build_element(tag, &block)
17
+ ::Ox.dump(xml, indent: -1, with_xml: true)
18
+ end
19
+
20
+ def build_document_xml(tag, namespaces = [], ignore_namespaces = [], &block)
21
+ xml = build_document(tag, namespaces, ignore_namespaces, &block)
22
+ ::Ox.dump(xml, indent: -1, with_xml: true)
23
+ end
24
+
25
+ def build_document(tag, namespaces = [], ignore_namespaces = [])
26
+ ::Ox::Document.new(encoding: 'UTF-8', version: '1.0', standalone: 'yes').tap do |root|
27
+ root << ::Ox::Element.new(tag).tap do |document|
28
+ Goldendocx::NAMESPACES.slice(*namespaces).each do |key, namespace|
29
+ document["xmlns:#{key}"] = namespace
30
+ end
31
+
32
+ document['mc:Ignorable'] = ignore_namespaces.join(' ') unless ignore_namespaces.empty?
33
+
34
+ yield(document) if block_given?
35
+ end
36
+ end
37
+ end
38
+
39
+ def build_element(tag)
40
+ ::Ox::Element.new(tag).tap do |element|
41
+ yield(element) if block_given?
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ # FIXME: Temporarily here to provider syntactic sugar
50
+ module Ox
51
+ class Element
52
+ def <<(node)
53
+ # FIXME: Add this line to transform element implicitly
54
+ node = node.public_send(:to_element) if node.respond_to?(:to_element)
55
+
56
+ raise 'argument to << must be a String or Ox::Node.' unless node.is_a?(String) || node.is_a?(Node)
57
+
58
+ @nodes = [] if !instance_variable_defined?(:@nodes) || @nodes.nil?
59
+ @nodes << node
60
+ self
61
+ end
62
+ end
63
+ end
data/lib/goldendocx.rb ADDED
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'zip'
4
+
5
+ require 'goldendocx/version'
6
+ require 'goldendocx/docx'
7
+
8
+ module Goldendocx
9
+ autoload :Configuration, 'goldendocx/configuration'
10
+
11
+ NAMESPACES = {
12
+ a: 'http://schemas.openxmlformats.org/drawingml/2006/main',
13
+ a14: 'http://schemas.microsoft.com/office/drawing/2010/main',
14
+ c: 'http://schemas.openxmlformats.org/drawingml/2006/chart',
15
+ c14: 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart',
16
+ cx: 'http://schemas.microsoft.com/office/drawing/2014/chartex',
17
+ cx1: 'http://schemas.microsoft.com/office/drawing/2015/9/8/chartex',
18
+ cx2: 'http://schemas.microsoft.com/office/drawing/2015/10/21/chartex',
19
+ cx3: 'http://schemas.microsoft.com/office/drawing/2016/5/9/chartex',
20
+ cx4: 'http://schemas.microsoft.com/office/drawing/2016/5/10/chartex',
21
+ cx5: 'http://schemas.microsoft.com/office/drawing/2016/5/11/chartex',
22
+ cx6: 'http://schemas.microsoft.com/office/drawing/2016/5/12/chartex',
23
+ cx7: 'http://schemas.microsoft.com/office/drawing/2016/5/13/chartex',
24
+ cx8: 'http://schemas.microsoft.com/office/drawing/2016/5/14/chartex',
25
+ m: 'http://schemas.openxmlformats.org/officeDocument/2006/math',
26
+ mc: 'http://schemas.openxmlformats.org/markup-compatibility/2006',
27
+ mo: 'http://schemas.microsoft.com/office/mac/office/2008/main',
28
+ mv: 'urn:schemas-microsoft-com:mac:vml',
29
+ o: 'urn:schemas-microsoft-com:office:office',
30
+ pic: 'http://schemas.openxmlformats.org/drawingml/2006/picture',
31
+ r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
32
+ sl: 'http://schemas.openxmlformats.org/schemaLibrary/2006/main',
33
+ v: 'urn:schemas-microsoft-com:vml',
34
+ w: 'http://schemas.openxmlformats.org/wordprocessingml/2006/main',
35
+ w10: 'urn:schemas-microsoft-com:office:word',
36
+ w14: 'http://schemas.microsoft.com/office/word/2010/wordml',
37
+ w15: 'http://schemas.microsoft.com/office/word/2012/wordml',
38
+ w16cid: 'http://schemas.microsoft.com/office/word/2016/wordml/cid',
39
+ w16se: 'http://schemas.microsoft.com/office/word/2015/wordml/symex',
40
+ wne: 'http://schemas.microsoft.com/office/word/2006/wordml',
41
+ wp: 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing',
42
+ wp14: 'http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing',
43
+ wpc: 'http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas',
44
+ wpg: 'http://schemas.microsoft.com/office/word/2010/wordprocessingGroup',
45
+ wpi: 'http://schemas.microsoft.com/office/word/2010/wordprocessingInk',
46
+ wps: 'http://schemas.microsoft.com/office/word/2010/wordprocessingShape'
47
+ }.freeze
48
+
49
+ class << self
50
+ def configure
51
+ yield config
52
+ end
53
+
54
+ def config
55
+ @config ||= Configuration.new
56
+ end
57
+
58
+ def xml_serializer
59
+ @xml_serializer ||=
60
+ begin
61
+ case config.xml_serializer
62
+ when :ox then require 'goldendocx/xml_serializers/ox'
63
+ when :nokogiri then require 'goldendocx/xml_serializers/nokogiri'
64
+ else raise StandardError, 'Unsupported XML serializer'
65
+ end
66
+
67
+ serializer_class = "Goldendocx::XmlSerializers::#{config.xml_serializer.to_s.capitalize}"
68
+ Kernel.const_get(serializer_class)
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,4 @@
1
+ module Goldendocx
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,347 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: goldendocx
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ platform: ruby
6
+ authors:
7
+ - WangYuechen
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-03-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '7.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '7.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.14'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ox
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.14'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubyzip
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '13.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '13.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.11'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.11'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.25'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.25'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-performance
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.16'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.16'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.19'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.19'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.22.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.22.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: simplecov-lcov
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.8.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.8.0
167
+ description: Ruby APIs for manipulating Microsoft Word based upon OOXML standards.
168
+ email:
169
+ - 291943739@qq.com
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - ".rspec"
175
+ - ".rubocop.yml"
176
+ - CHANGELOG.md
177
+ - Gemfile
178
+ - Gemfile.lock
179
+ - README.md
180
+ - Rakefile
181
+ - coverage/.last_run.json
182
+ - demo/charts/create_bar_chart.rb
183
+ - demo/charts/create_column_chart.rb
184
+ - demo/charts/create_doughnut_chart.rb
185
+ - demo/charts/create_line_chart.rb
186
+ - demo/images/append_image.rb
187
+ - demo/images/append_styled_image.rb
188
+ - demo/tables/create_embed_image_table.rb
189
+ - demo/tables/create_plain_table.rb
190
+ - demo/tables/create_styled_table.rb
191
+ - demo/templates/bg.png
192
+ - demo/templates/blankDocument.docx
193
+ - demo/templates/image_base64
194
+ - demo/templates/styles/reportLabel
195
+ - demo/templates/styles/reportSubTitle
196
+ - demo/templates/styles/reportTable
197
+ - demo/templates/styles/reportTitle
198
+ - demo/texts/append_plain_text.rb
199
+ - demo/texts/append_styled_text.rb
200
+ - lib/goldendocx.rb
201
+ - lib/goldendocx/charts.rb
202
+ - lib/goldendocx/charts/category_axis.rb
203
+ - lib/goldendocx/charts/properties.rb
204
+ - lib/goldendocx/charts/properties/auto_title_deleted_property.rb
205
+ - lib/goldendocx/charts/properties/axis_property.rb
206
+ - lib/goldendocx/charts/properties/bar_chart_property.rb
207
+ - lib/goldendocx/charts/properties/chart_property.rb
208
+ - lib/goldendocx/charts/properties/column_chart_property.rb
209
+ - lib/goldendocx/charts/properties/cross_axis_property.rb
210
+ - lib/goldendocx/charts/properties/data_lables_property.rb
211
+ - lib/goldendocx/charts/properties/direction_property.rb
212
+ - lib/goldendocx/charts/properties/doughnut_chart_property.rb
213
+ - lib/goldendocx/charts/properties/grouping_property.rb
214
+ - lib/goldendocx/charts/properties/hole_property.rb
215
+ - lib/goldendocx/charts/properties/index_property.rb
216
+ - lib/goldendocx/charts/properties/label_hidden_property.rb
217
+ - lib/goldendocx/charts/properties/layout_property.rb
218
+ - lib/goldendocx/charts/properties/line_chart_property.rb
219
+ - lib/goldendocx/charts/properties/marker_property.rb
220
+ - lib/goldendocx/charts/properties/number_list_property.rb
221
+ - lib/goldendocx/charts/properties/order_property.rb
222
+ - lib/goldendocx/charts/properties/plot_area_property.rb
223
+ - lib/goldendocx/charts/properties/point_count_property.rb
224
+ - lib/goldendocx/charts/properties/point_property.rb
225
+ - lib/goldendocx/charts/properties/rounded_corner_property.rb
226
+ - lib/goldendocx/charts/properties/series_category_property.rb
227
+ - lib/goldendocx/charts/properties/series_text_property.rb
228
+ - lib/goldendocx/charts/properties/series_value_property.rb
229
+ - lib/goldendocx/charts/properties/smooth_property.rb
230
+ - lib/goldendocx/charts/properties/string_list_property.rb
231
+ - lib/goldendocx/charts/properties/symbol_property.rb
232
+ - lib/goldendocx/charts/properties/text_value_property.rb
233
+ - lib/goldendocx/charts/reference.rb
234
+ - lib/goldendocx/charts/series.rb
235
+ - lib/goldendocx/charts/value_axis.rb
236
+ - lib/goldendocx/components.rb
237
+ - lib/goldendocx/components/bar_chart.rb
238
+ - lib/goldendocx/components/chart.rb
239
+ - lib/goldendocx/components/column_chart.rb
240
+ - lib/goldendocx/components/doughnut_chart.rb
241
+ - lib/goldendocx/components/image.rb
242
+ - lib/goldendocx/components/line_chart.rb
243
+ - lib/goldendocx/components/paragraph.rb
244
+ - lib/goldendocx/components/properties.rb
245
+ - lib/goldendocx/components/properties/align_property.rb
246
+ - lib/goldendocx/components/properties/bold_property.rb
247
+ - lib/goldendocx/components/properties/color_property.rb
248
+ - lib/goldendocx/components/properties/drawing.rb
249
+ - lib/goldendocx/components/properties/extents_property.rb
250
+ - lib/goldendocx/components/properties/graphic_data_property.rb
251
+ - lib/goldendocx/components/properties/graphic_frame_locks_property.rb
252
+ - lib/goldendocx/components/properties/graphic_frame_property.rb
253
+ - lib/goldendocx/components/properties/graphic_property.rb
254
+ - lib/goldendocx/components/properties/inline.rb
255
+ - lib/goldendocx/components/properties/non_visual_property.rb
256
+ - lib/goldendocx/components/properties/padding_property.rb
257
+ - lib/goldendocx/components/properties/property.rb
258
+ - lib/goldendocx/components/properties/run.rb
259
+ - lib/goldendocx/components/properties/run_property.rb
260
+ - lib/goldendocx/components/properties/style_property.rb
261
+ - lib/goldendocx/components/properties/textual.rb
262
+ - lib/goldendocx/components/table.rb
263
+ - lib/goldendocx/components/text.rb
264
+ - lib/goldendocx/configuration.rb
265
+ - lib/goldendocx/content_types/default.rb
266
+ - lib/goldendocx/content_types/override.rb
267
+ - lib/goldendocx/document.rb
268
+ - lib/goldendocx/documents.rb
269
+ - lib/goldendocx/documents/body.rb
270
+ - lib/goldendocx/documents/document.rb
271
+ - lib/goldendocx/documents/element.rb
272
+ - lib/goldendocx/documents/relationship.rb
273
+ - lib/goldendocx/documents/relationships.rb
274
+ - lib/goldendocx/documents/style.rb
275
+ - lib/goldendocx/documents/styles.rb
276
+ - lib/goldendocx/documents/unparsed_style.rb
277
+ - lib/goldendocx/docx.rb
278
+ - lib/goldendocx/element.rb
279
+ - lib/goldendocx/images.rb
280
+ - lib/goldendocx/images/picture.rb
281
+ - lib/goldendocx/images/properties.rb
282
+ - lib/goldendocx/images/properties/blip_property.rb
283
+ - lib/goldendocx/images/properties/drawing_property.rb
284
+ - lib/goldendocx/images/properties/extents_property.rb
285
+ - lib/goldendocx/images/properties/fill_rectangle_property.rb
286
+ - lib/goldendocx/images/properties/image_data_property.rb
287
+ - lib/goldendocx/images/properties/non_visual_drawing_property.rb
288
+ - lib/goldendocx/images/properties/non_visual_picture_property.rb
289
+ - lib/goldendocx/images/properties/picture_fill_property.rb
290
+ - lib/goldendocx/images/properties/picture_shape_property.rb
291
+ - lib/goldendocx/images/properties/shape_property.rb
292
+ - lib/goldendocx/images/properties/stretch_property.rb
293
+ - lib/goldendocx/images/properties/transform_property.rb
294
+ - lib/goldendocx/images/shape.rb
295
+ - lib/goldendocx/parts.rb
296
+ - lib/goldendocx/parts/content_types.rb
297
+ - lib/goldendocx/parts/documents.rb
298
+ - lib/goldendocx/parts/media.rb
299
+ - lib/goldendocx/tables.rb
300
+ - lib/goldendocx/tables/cell.rb
301
+ - lib/goldendocx/tables/header_cell.rb
302
+ - lib/goldendocx/tables/header_row.rb
303
+ - lib/goldendocx/tables/image_cell.rb
304
+ - lib/goldendocx/tables/properties.rb
305
+ - lib/goldendocx/tables/properties/cell_property.rb
306
+ - lib/goldendocx/tables/properties/cell_width_property.rb
307
+ - lib/goldendocx/tables/properties/grid_column_property.rb
308
+ - lib/goldendocx/tables/properties/grid_property.rb
309
+ - lib/goldendocx/tables/properties/grid_span_property.rb
310
+ - lib/goldendocx/tables/properties/header_row_property.rb
311
+ - lib/goldendocx/tables/properties/property.rb
312
+ - lib/goldendocx/tables/properties/row_height_property.rb
313
+ - lib/goldendocx/tables/properties/row_property.rb
314
+ - lib/goldendocx/tables/properties/shading_property.rb
315
+ - lib/goldendocx/tables/properties/style_property.rb
316
+ - lib/goldendocx/tables/properties/vertical_align_property.rb
317
+ - lib/goldendocx/tables/properties/width_property.rb
318
+ - lib/goldendocx/tables/row.rb
319
+ - lib/goldendocx/units.rb
320
+ - lib/goldendocx/version.rb
321
+ - lib/goldendocx/xml_serializers/nokogiri.rb
322
+ - lib/goldendocx/xml_serializers/ox.rb
323
+ - sig/goldendocx.rbs
324
+ homepage: https://github.com/SheldonLeo/goldendocx
325
+ licenses:
326
+ - Nonstandard
327
+ metadata: {}
328
+ post_install_message:
329
+ rdoc_options: []
330
+ require_paths:
331
+ - lib
332
+ required_ruby_version: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - ">="
335
+ - !ruby/object:Gem::Version
336
+ version: 2.7.0
337
+ required_rubygems_version: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ requirements: []
343
+ rubygems_version: 3.3.23
344
+ signing_key:
345
+ specification_version: 4
346
+ summary: The Ruby API for Microsoft Word
347
+ test_files: []