docxify 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +3 -3
- data/lib/docxify/element/image.rb +8 -10
- data/lib/docxify/element/paragraph.rb +6 -4
- data/lib/docxify/version.rb +1 -1
- data/lib/docxify.rb +8 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '02588568aa1d05caf048a8a3b861ffc9b5ec2109817b6931006ce4c36c97adea'
|
4
|
+
data.tar.gz: 7f2647fdf663f8fb222c544592c4910ec54aedcdd26cf8fef30a610c7a163d6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf43c3a7194169d9cb01e0f96a44d3498dffbde8fa7f829dbf8fff1226ea9adffa4f648a06158cc7ad3450203858e2211cf2423f064a683129ef2e23c825353b
|
7
|
+
data.tar.gz: b4990b99e150a9f2e3aae3a45873799e91fc850c7180485caa4559ed2eca97d301672bd0181f3e5b703d3c44f32b4c3f6e64c32c36895b0c62a002659f76b83d
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -23,7 +23,7 @@ gem install docxify
|
|
23
23
|
|
24
24
|
@docx.default_styling font: "Serif font here", size: 14, color: "#040404"
|
25
25
|
|
26
|
-
@docx.add_paragraph "Title", font: "Something", size: 18, color: "#00000"
|
26
|
+
@docx.add_paragraph "Title", font: "Something", size: 18, color: "#00000", after: 18
|
27
27
|
@docx.add_paragraph "Body copy"
|
28
28
|
@docx.add_paragraph "This is <b>bold</b>, <i>Italic</i> and <u>Underlined</u>."
|
29
29
|
@docx.add_paragraph "Text can also contain <a href='foo'>Links</a>."
|
@@ -37,7 +37,7 @@ gem install docxify
|
|
37
37
|
|
38
38
|
@docx.add_divider
|
39
39
|
|
40
|
-
@docx.add_image "file_path or data", align: :right, height_cm: 2, width_cm: 4
|
40
|
+
@docx.add_image "file_path or data", align: :right, height_cm: 2, width_cm: 4, after: 18
|
41
41
|
|
42
42
|
@docx.add_page_break
|
43
43
|
|
@@ -92,4 +92,4 @@ The `render` method on a `DocXify::Document` will generate a complete `document.
|
|
92
92
|
|
93
93
|
## Contributing
|
94
94
|
|
95
|
-
Bug reports and pull requests are welcome on GitHub at <https://github.com/
|
95
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/foundercatalyst/docxify>.
|
@@ -8,6 +8,7 @@ module DocXify
|
|
8
8
|
@file = file
|
9
9
|
|
10
10
|
@align = options[:align] || :left
|
11
|
+
@after = options[:after]
|
11
12
|
@height_cm = options[:height_cm] || 5
|
12
13
|
@width_cm = options[:width_cm] || 5
|
13
14
|
end
|
@@ -19,20 +20,17 @@ module DocXify
|
|
19
20
|
def to_s(_container = nil)
|
20
21
|
xml = "<w:p>"
|
21
22
|
|
23
|
+
xml << "<w:pPr>"
|
22
24
|
if @align == :right
|
23
|
-
xml <<
|
24
|
-
<w:pPr>
|
25
|
-
<w:jc w:val="right"/>
|
26
|
-
</w:pPr>
|
27
|
-
XML
|
25
|
+
xml << "<w:jc w:val=\"right\"/>"
|
28
26
|
elsif @align == :center
|
29
|
-
xml <<
|
30
|
-
<w:pPr>
|
31
|
-
<w:jc w:val="center"/>
|
32
|
-
</w:pPr>
|
33
|
-
XML
|
27
|
+
xml << "<w:jc w:val=\"center\"/>"
|
34
28
|
end
|
35
29
|
|
30
|
+
xml << "<w:spacing w:after=\"#{DocXify.pt2spacing @after}\"/>" if @after
|
31
|
+
|
32
|
+
xml << "</w:pPr>"
|
33
|
+
|
36
34
|
xml << <<~XML
|
37
35
|
<w:r>
|
38
36
|
<w:rPr>
|
@@ -14,6 +14,7 @@ module DocXify
|
|
14
14
|
@background = options[:background] if options[:background]
|
15
15
|
@background ||= @document&.background if @document&.background
|
16
16
|
@align = options[:align] || :left
|
17
|
+
@after = options[:after]
|
17
18
|
@inline_styling = options.key?(:inline_styling) ? options[:inline_styling] : true
|
18
19
|
@tab_stops_cm = options[:tab_stops_cm] || []
|
19
20
|
@hanging_cm = options[:hanging_cm] || 0
|
@@ -21,15 +22,16 @@ module DocXify
|
|
21
22
|
|
22
23
|
def to_s(_container = nil)
|
23
24
|
nodes = if @inline_styling
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
parse_simple_html(@text)
|
26
|
+
else
|
27
|
+
[@text.gsub("<", "<").gsub(">", ">")]
|
28
|
+
end
|
28
29
|
|
29
30
|
xml = "<w:p>"
|
30
31
|
|
31
32
|
xml << "<w:pPr>"
|
32
33
|
xml << "<w:jc w:val=\"#{@align}\"/>" if @align != :left
|
34
|
+
xml << "<w:spacing w:after=\"#{DocXify.pt2spacing @after}\"/>" if @after
|
33
35
|
|
34
36
|
if tab_stops_cm.any?
|
35
37
|
xml << "<w:tabs>"
|
data/lib/docxify/version.rb
CHANGED
data/lib/docxify.rb
CHANGED
@@ -47,6 +47,14 @@ module DocXify
|
|
47
47
|
(value * 2).to_i
|
48
48
|
end
|
49
49
|
|
50
|
+
# Used for spacing
|
51
|
+
def self.pt2spacing(value)
|
52
|
+
value = value.to_f
|
53
|
+
raise ArgumentError.new("Value must be greater than or equal to 0") if value.negative?
|
54
|
+
|
55
|
+
(value * 20).to_i
|
56
|
+
end
|
57
|
+
|
50
58
|
# Used for image sizes
|
51
59
|
def self.cm2emu(value)
|
52
60
|
value = value.to_f
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docxify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jeffries
|
8
|
+
- FounderCatalyst Ltd
|
8
9
|
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date: 2024-
|
12
|
+
date: 2024-09-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rubyzip
|
@@ -27,7 +28,7 @@ dependencies:
|
|
27
28
|
description: Using a relatively simple DSL, you can generate Word DocX documents from
|
28
29
|
Ruby.
|
29
30
|
email:
|
30
|
-
- andy@
|
31
|
+
- andy@foundercatalyst.com
|
31
32
|
executables: []
|
32
33
|
extensions: []
|
33
34
|
extra_rdoc_files: []
|