prawndown-ext 0.1.11 → 0.1.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cde2a748cc80534bf28bcb5540cd5788eb3d2690b64fec3c0357f72edfaa25bf
4
- data.tar.gz: dfcc6a5c1d475d660e3c8502e5351c91907bb5872a637f0a229e9f828c530945
3
+ metadata.gz: 1b801f60832b999e3876e1acc12b7a2067c43a5f275c512aa03833fec873aa4e
4
+ data.tar.gz: 7d7fba659b4abe19cc9b379f2de8eb617d1318cd8905569fdffe3044e3a96d2d
5
5
  SHA512:
6
- metadata.gz: 756968bf80dfc61824d0a6825aaf966132b0a25fc4c62879cc32dfdba3454ab2e0f900b55f8c7658e4588d8631f9bcfa13cf065f1d117157f5bb41c0d6ed25ae
7
- data.tar.gz: 443c379f6e4d49bcbaea754a6775d5099a74c1d0ccdba2a5e762c7923252f7716e4a1bb722e4f688ee3a16b41fb22e402664cbfec1ed95fde5ebc8e9e5c1dd3f
6
+ metadata.gz: f093e4377fbd489000b88ebde6ccd95b5ebda6ce241b3687befc479ac6d84e51764640590ff81eaae91f6d565661988c3d8b32eeb30bd4fcac7aaa097cdd9c49
7
+ data.tar.gz: 1151c3d86e726b7095f8444152ea7b155f5c6421322d2a6bc1589ec04a54e8e2d0b116acdcbaebf17f9c58877aa04bce69d2cbfdbfd689810dfd0dbde9091d61
@@ -15,6 +15,12 @@ module PrawndownExt
15
15
  ]
16
16
 
17
17
  DEFAULT_OPTIONS = {
18
+ "header1_line_space" => 5,
19
+ "header2_line_space" => 5,
20
+ "header3_line_space" => 5,
21
+ "header4_line_space" => 5,
22
+ "header5_line_space" => 5,
23
+ "header6_line_space" => 5,
18
24
  "header1_size" => 28,
19
25
  "header2_size" => 24,
20
26
  "header3_size" => 20,
@@ -23,13 +29,13 @@ module PrawndownExt
23
29
  "header6_size" => 14,
24
30
  "quote_size" => 14,
25
31
  "quote_font_spacing" => nil,
26
- "quote_font" => nil,
27
- "header1_font" => nil,
28
- "header2_font" => nil,
29
- "header3_font" => nil,
30
- "header4_font" => nil,
31
- "header5_font" => nil,
32
- "header6_font" => nil,
32
+ "quote_font" => "quote",
33
+ "header1_font" => "header1",
34
+ "header2_font" => "header2",
35
+ "header3_font" => "header3",
36
+ "header4_font" => "header4",
37
+ "header5_font" => "header5",
38
+ "header6_font" => "header6",
33
39
  "quote_margin" => 20,
34
40
  "header1_margin" => 4,
35
41
  "header2_margin" => 4,
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PrawndownExt
4
4
  module Ext
5
- VERSION = "0.1.11"
5
+ VERSION = "0.1.13"
6
6
  end
7
7
  end
data/lib/prawndown-ext.rb CHANGED
@@ -33,12 +33,19 @@ module PrawndownExt
33
33
  options[args["command"] + "_line_spacing"] = 0
34
34
  end
35
35
 
36
- if !options.key?("margin")
37
- args["margin"] = 0
36
+ if !options.key?(args["command"] + "_horizontal_margin")
37
+ options[args["command"] + "_horizontal_margin"] = 0
38
38
  end
39
+
40
+ if !options.key?(args["command"] + "_vertical_margin")
41
+ options[args["command"] + "_vertical_margin"] = 0
42
+ end
43
+
44
+ margin = (options[args["command"] + "_horizontal_margin"] * 0.5).floor
45
+ half_margin = (options[args["command"] + "_vertical_margin"] * 0.5).floor
39
46
 
40
- pdf.pad args["margin"] do
41
- pdf.indent args["margin"], args["margin"] do
47
+ pdf.pad half_margin do
48
+ pdf.indent margin, margin do
42
49
  pdf.text args["text"], inline_format: true, leading: options[args["command"] + "_line_spacing"].to_f
43
50
  end
44
51
  end
@@ -52,6 +59,25 @@ module PrawndownExt
52
59
  end
53
60
  end
54
61
 
62
+ width = nil
63
+ height = nil
64
+
65
+ if options.key?("image_width")
66
+ width = options["image_width"].to_i
67
+ end
68
+
69
+ if options.key?("image_height")
70
+ height = options["image_height"].to_i
71
+ end
72
+
73
+ if width.nil? && height.nil?
74
+ width = pdf.bounds.width
75
+ end
76
+
77
+ if !width.nil?
78
+ width = [pdf.bounds.width, width].min
79
+ end
80
+
55
81
  if args["path"][0] == "/"
56
82
  args["path"] = args["path"][1..-1]
57
83
  end
@@ -63,14 +89,38 @@ module PrawndownExt
63
89
  end
64
90
 
65
91
  if File.extname(file) != ".gif"
66
- pdf.image(file,
67
- width: pdf.bounds.width,
68
- position: :center)
92
+ if !(height.nil? && width.nil?)
93
+
94
+ if !options.key?("image_pad")
95
+ options["image_pad"] = 0
96
+ end
97
+
98
+ pdf.pad options["image_pad"] do
99
+ if height.nil? && !width.nil?
100
+ pdf.image(file,
101
+ width: [pdf.bounds.width, width].min,
102
+ position: :center)
103
+ elsif !height.nil? && width.nil?
104
+ pdf.image(file,
105
+ height: height,
106
+ position: :center)
107
+ else
108
+ pdf.image(file,
109
+ width: [pdf.bounds.width, width].min,
110
+ height: height,
111
+ position: :center)
112
+ end
113
+ end
114
+ end
69
115
  end
70
116
  end
71
117
 
72
118
  def self.cl_newline args, pdf, options
73
- pdf.start_new_page()
119
+ if pdf.bounds.instance_of? Prawn::Document::ColumnBox
120
+ pdf.bounds.move_past_bottom
121
+ else
122
+ pdf.start_new_page
123
+ end
74
124
  end
75
125
 
76
126
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawndown-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - PunishedFelix