squib 0.13.4 → 0.14.beta1
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/.travis.yml +2 -4
- data/CHANGELOG.md +19 -3
- data/README.md +1 -1
- data/bin/squib +1 -16
- data/lib/squib.rb +1 -1
- data/lib/squib/api/data.rb +29 -0
- data/lib/squib/api/save.rb +23 -2
- data/lib/squib/api/shapes.rb +37 -0
- data/lib/squib/api/text.rb +1 -1
- data/lib/squib/api/units.rb +5 -0
- data/lib/squib/args/arg_loader.rb +1 -1
- data/lib/squib/args/coords.rb +3 -1
- data/lib/squib/args/dir_validator.rb +1 -1
- data/lib/squib/args/sheet.rb +9 -2
- data/lib/squib/args/sprue_file.rb +44 -0
- data/lib/squib/args/unit_conversion.rb +2 -0
- data/lib/squib/{layouts → builtin/layouts}/economy.yml +5 -5
- data/lib/squib/{layouts → builtin/layouts}/fantasy.yml +4 -4
- data/lib/squib/{layouts → builtin/layouts}/hand.yml +0 -0
- data/lib/squib/builtin/layouts/party.yml +94 -0
- data/lib/squib/{layouts → builtin/layouts}/playing-card.yml +0 -0
- data/lib/squib/{layouts → builtin/layouts}/tuck_box.yml +1 -1
- data/lib/squib/{project_template → builtin/projects/advanced}/.gitignore +0 -0
- data/lib/squib/{project_template → builtin/projects/advanced}/ABOUT.md +0 -0
- data/lib/squib/builtin/projects/advanced/Gemfile +11 -0
- data/lib/squib/builtin/projects/advanced/Guardfile +21 -0
- data/lib/squib/{project_template → builtin/projects/advanced}/IDEAS.md +0 -0
- data/lib/squib/{project_template → builtin/projects/advanced}/PLAYTESTING.md +0 -0
- data/lib/squib/builtin/projects/advanced/Rakefile +27 -0
- data/lib/squib/{project_template → builtin/projects/advanced}/_output/gitkeep.txt +0 -0
- data/lib/squib/builtin/projects/advanced/config.yml +49 -0
- data/lib/squib/builtin/projects/advanced/data/game.xlsx +0 -0
- data/lib/squib/project_template/PNP NOTES.md b/data/lib/squib/builtin/projects/advanced/docs/PNP → NOTES.md +0 -0
- data/lib/squib/{project_template → builtin/projects/advanced/docs}/RULES.md +0 -0
- data/lib/squib/builtin/projects/advanced/img/example.svg +60 -0
- data/lib/squib/builtin/projects/advanced/layouts/deck.yml +27 -0
- data/lib/squib/builtin/projects/advanced/src/deck.rb +34 -0
- data/lib/squib/builtin/projects/advanced/src/version.rb +3 -0
- data/lib/squib/builtin/projects/basic/.gitignore +4 -0
- data/lib/squib/builtin/projects/basic/ABOUT.md +19 -0
- data/lib/squib/{project_template → builtin/projects/basic}/Gemfile +0 -0
- data/lib/squib/builtin/projects/basic/IDEAS.md +22 -0
- data/lib/squib/builtin/projects/basic/PLAYTESTING.md +26 -0
- data/lib/squib/builtin/projects/basic/PNP NOTES.md +4 -0
- data/lib/squib/builtin/projects/basic/RULES.md +21 -0
- data/lib/squib/{project_template → builtin/projects/basic}/Rakefile +0 -0
- data/lib/squib/builtin/projects/basic/_output/gitkeep.txt +1 -0
- data/lib/squib/{project_template → builtin/projects/basic}/config.yml +0 -0
- data/lib/squib/{project_template → builtin/projects/basic}/deck.rb +0 -0
- data/lib/squib/{project_template → builtin/projects/basic}/layout.yml +0 -0
- data/lib/squib/builtin/sprues/a4_euro_card.yml +42 -0
- data/lib/squib/builtin/sprues/a4_poker_card_8up.yml +40 -0
- data/lib/squib/builtin/sprues/a4_poker_card_9up.yml +42 -0
- data/lib/squib/builtin/sprues/a4_usa_card.yml +42 -0
- data/lib/squib/builtin/sprues/letter_poker_card_9up.yml +25 -0
- data/lib/squib/builtin/sprues/letter_poker_foldable_8up.yml +52 -0
- data/lib/squib/card.rb +1 -1
- data/lib/squib/commands/cli.rb +39 -0
- data/lib/squib/commands/data/template_option.rb +109 -0
- data/lib/squib/commands/make_sprue.rb +275 -0
- data/lib/squib/commands/new.rb +37 -4
- data/lib/squib/constants.rb +6 -1
- data/lib/squib/graphics/cairo_context_wrapper.rb +1 -1
- data/lib/squib/graphics/image.rb +6 -1
- data/lib/squib/graphics/save_doc.rb +6 -4
- data/lib/squib/graphics/save_pdf.rb +13 -8
- data/lib/squib/graphics/save_sprue.rb +228 -0
- data/lib/squib/graphics/shapes.rb +8 -2
- data/lib/squib/graphics/text.rb +4 -3
- data/lib/squib/layout_parser.rb +17 -1
- data/lib/squib/sample_helpers.rb +1 -1
- data/lib/squib/sprues/crop_line.rb +28 -0
- data/lib/squib/sprues/crop_line_dash.rb +35 -0
- data/lib/squib/sprues/invalid_sprue_definition.rb +9 -0
- data/lib/squib/sprues/sprue.rb +203 -0
- data/lib/squib/sprues/sprue_schema.rb +48 -0
- data/lib/squib/version.rb +1 -1
- data/samples/autoscale_font/_autoscale_font.rb +3 -3
- data/samples/backend/_backend.rb +1 -1
- data/samples/basic.rb +2 -2
- data/samples/colors/_colors.rb +1 -1
- data/samples/colors/_gradients.rb +1 -1
- data/samples/config/config_text_markup.rb +3 -3
- data/samples/config/custom_config.rb +1 -1
- data/samples/data/_csv.rb +3 -3
- data/samples/data/_excel.rb +4 -4
- data/samples/data/_yaml.rb +12 -0
- data/samples/images/_images.rb +2 -2
- data/samples/images/_more_load_images.rb +3 -0
- data/samples/images/_unicode.rb +2 -2
- data/samples/intro/02_options.rb +2 -2
- data/samples/layouts/builtin_layouts.rb +27 -4
- data/samples/layouts/layouts.rb +2 -2
- data/samples/proofs/_tgc_proofs.rb +2 -2
- data/samples/ranges/_ranges.rb +3 -3
- data/samples/saves/_hand.rb +1 -1
- data/samples/saves/_save_pdf.rb +4 -0
- data/samples/saves/_saves.rb +7 -1
- data/samples/saves/_showcase.rb +1 -1
- data/samples/shapes/_draw_shapes.rb +5 -1
- data/samples/shapes/_proofs.rb +22 -0
- data/samples/sprues/_builtin_sprues.rb +19 -0
- data/samples/sprues/_fold_sheet.rb +27 -0
- data/samples/sprues/_hex_tiles.rb +15 -0
- data/samples/sprues/_mints.rb +11 -0
- data/samples/sprues/_sprue_example.rb +11 -0
- data/samples/text/_embed_text.rb +14 -14
- data/samples/text/_text.rb +8 -8
- data/samples/text/_text_options.rb +17 -17
- data/squib.gemspec +18 -17
- metadata +126 -44
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# Note that this sample has no bleed - you might want to have bleed
|
|
4
|
+
# but tighter than usual: 0.1 instead of 0.125in since this sprue is
|
|
5
|
+
# crowded horizontally on US letter
|
|
6
|
+
Squib::Deck.new(width: '2.5in', height: '3.5in', cards: 8) do
|
|
7
|
+
background color: :white
|
|
8
|
+
rect stroke_width: 5, stroke_color: :red
|
|
9
|
+
# Note that we are interleaving strings
|
|
10
|
+
# This could be used as a secondary Squib script that loads
|
|
11
|
+
# Squib-generated individual images
|
|
12
|
+
strings = [
|
|
13
|
+
"Front 1",
|
|
14
|
+
"Back 1",
|
|
15
|
+
"Front 2",
|
|
16
|
+
"Back 2",
|
|
17
|
+
"Front 3",
|
|
18
|
+
"Back 3",
|
|
19
|
+
"Front 4",
|
|
20
|
+
"Back 4",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
text str: strings,font: 'Sans 32', align: :center, valign: :middle,
|
|
24
|
+
height: :deck, width: :deck
|
|
25
|
+
save_sheet prefix: 'foldable_',
|
|
26
|
+
sprue: 'letter_poker_foldable_8up.yml'
|
|
27
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new(width: '65.8mm', height: '76mm', cards: 9) do
|
|
4
|
+
polygon(
|
|
5
|
+
x: '32.9mm', y: '38mm', n: 6, radius: '38mm', angle: 1.571,
|
|
6
|
+
stroke_color: :black, stroke_width: '0.014in', fill_color: :pink
|
|
7
|
+
)
|
|
8
|
+
text(
|
|
9
|
+
str: %w[One Two Three Four Five Six Seven Eight Nine],
|
|
10
|
+
x: '27mm', y: '35mm', width: '11.8mm', height: '6mm',
|
|
11
|
+
align: :center, valign: :middle
|
|
12
|
+
)
|
|
13
|
+
save_pdf file: 'hex_tiles.pdf',
|
|
14
|
+
sprue: 'my_sprues/hex_tiles.yml'
|
|
15
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
# An example deck that uses "mint" sized cards (e.g. Altoids).
|
|
4
|
+
# These cards are pretty small but comfortably fit in a mint tin
|
|
5
|
+
|
|
6
|
+
Squib::Deck.new(cards: 21, width: '54.0mm', height: '68.0mm') do
|
|
7
|
+
background color: :gray
|
|
8
|
+
rect
|
|
9
|
+
text str: (1..21).to_a
|
|
10
|
+
save_pdf sprue: 'my_sprues/us_letter_mints.yml'
|
|
11
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require 'squib'
|
|
2
|
+
|
|
3
|
+
Squib::Deck.new(cards: 9) do
|
|
4
|
+
background color: :white
|
|
5
|
+
rect stroke_width: 5, stroke_color: :red
|
|
6
|
+
text str: (0..9).map{ |i| "Card #{i}\n2.5x3.5in" },
|
|
7
|
+
font: 'Sans 32', align: :center, valign: :middle,
|
|
8
|
+
height: :deck, width: :deck
|
|
9
|
+
save_sheet sprue: 'letter_poker_card_9up.yml',
|
|
10
|
+
prefix: "sprue_example_"
|
|
11
|
+
end
|
data/samples/text/_embed_text.rb
CHANGED
|
@@ -5,7 +5,7 @@ Squib::Deck.new do
|
|
|
5
5
|
rect x: 0, y: 0, width: 825, height: 1125, stroke_width: 2.0
|
|
6
6
|
|
|
7
7
|
embed_text = 'Take 11 :tool: and gain 2 :health:. Take <b>2</b> :tool: <i>and gain 3 :purse: if level 2.</i>'
|
|
8
|
-
text(str: embed_text, font: 'Sans
|
|
8
|
+
text(str: embed_text, font: 'Sans 7',
|
|
9
9
|
x: 0, y: 0, width: 180, hint: :red,
|
|
10
10
|
align: :left, ellipsize: false, justify: false) do |embed|
|
|
11
11
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -14,7 +14,7 @@ Squib::Deck.new do
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
embed_text = 'Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:'
|
|
17
|
-
text(str: embed_text, font: 'Sans
|
|
17
|
+
text(str: embed_text, font: 'Sans 7',
|
|
18
18
|
x: 200, y: 0, width: 180, height: 300, valign: :middle,
|
|
19
19
|
align: :left, ellipsize: false, justify: false, hint: :cyan) do |embed|
|
|
20
20
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -23,7 +23,7 @@ Squib::Deck.new do
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
embed_text = 'This :tool: aligns on the bottom properly. :purse:'
|
|
26
|
-
text(str: embed_text, font: 'Sans
|
|
26
|
+
text(str: embed_text, font: 'Sans 7',
|
|
27
27
|
x: 400, y: 0, width: 180, height: 300, valign: :bottom,
|
|
28
28
|
align: :left, ellipsize: false, justify: false, hint: :green) do |embed|
|
|
29
29
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -32,14 +32,14 @@ Squib::Deck.new do
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
embed_text = 'Yes, this wraps strangely. We are trying to determine the cause. These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:'
|
|
35
|
-
text(str: embed_text, font: 'Sans
|
|
35
|
+
text(str: embed_text, font: 'Sans 6',
|
|
36
36
|
x: 600, y: 0, width: 180, height: 300, wrap: :word_char,
|
|
37
37
|
align: :left, ellipsize: false, justify: false, hint: :cyan) do |embed|
|
|
38
38
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
embed_text = ':tool:Justify will :tool: work too, and :purse: with more words just for fun'
|
|
42
|
-
text(str: embed_text, font: 'Sans
|
|
42
|
+
text(str: embed_text, font: 'Sans 7',
|
|
43
43
|
x: 0, y: 320, width: 180, height: 300, valign: :bottom,
|
|
44
44
|
align: :left, ellipsize: false, justify: true, hint: :magenta) do |embed|
|
|
45
45
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -48,7 +48,7 @@ Squib::Deck.new do
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
embed_text = 'Right-aligned works :tool: with :health: and :purse:'
|
|
51
|
-
text(str: embed_text, font: 'Sans
|
|
51
|
+
text(str: embed_text, font: 'Sans 7',
|
|
52
52
|
x: 200, y: 320, width: 180, height: 300, valign: :bottom,
|
|
53
53
|
align: :right, ellipsize: false, justify: false, hint: :magenta) do |embed|
|
|
54
54
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -57,7 +57,7 @@ Squib::Deck.new do
|
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
embed_text = ':tool:Center-aligned works :tool: with :health: and :purse:'
|
|
60
|
-
text(str: embed_text, font: 'Sans
|
|
60
|
+
text(str: embed_text, font: 'Sans 7',
|
|
61
61
|
x: 400, y: 320, width: 180, height: 300,
|
|
62
62
|
align: :center, ellipsize: false, justify: false, hint: :magenta) do |embed|
|
|
63
63
|
embed.svg key: ':tool:', width: 28, height: 28, data: File.read('spanner.svg')
|
|
@@ -66,7 +66,7 @@ Squib::Deck.new do
|
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
embed_text = 'Markup --- and typography replacements --- with ":tool:" icons <i>won\'t</i> fail'
|
|
69
|
-
text(str: embed_text, font: 'Serif
|
|
69
|
+
text(str: embed_text, font: 'Serif 6', markup: true,
|
|
70
70
|
x: 600, y: 320, width: 180, height: 300,
|
|
71
71
|
align: :center, hint: :magenta) do |embed|
|
|
72
72
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -74,18 +74,18 @@ Squib::Deck.new do
|
|
|
74
74
|
|
|
75
75
|
embed_text = ':tool:' # JUST the icon
|
|
76
76
|
text(str: embed_text, x: 0, y: 640, width: 180, height: 50, markup: true,
|
|
77
|
-
font: 'Arial
|
|
77
|
+
font: 'Arial 7', align: :center, valign: :middle, hint: :red) do |embed|
|
|
78
78
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
embed_text = ':purse:' # JUST the icon
|
|
82
82
|
text(str: embed_text, x: 200, y: 640, width: 180, height: 50, markup: true,
|
|
83
|
-
font: 'Arial
|
|
83
|
+
font: 'Arial 7', align: :center, valign: :middle, hint: :red) do |embed|
|
|
84
84
|
embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
embed_text = ":tool: Death to Nemesis bug 103!! :purse:"
|
|
88
|
-
text(str: embed_text, font: 'Sans Bold
|
|
88
|
+
text(str: embed_text, font: 'Sans Bold 8', stroke_width: 2,
|
|
89
89
|
color: :red, stroke_color: :blue, dash: '3 3', align: :left,
|
|
90
90
|
valign: :middle, x: 0, y: 700, width: 380, height: 150,
|
|
91
91
|
hint: :magenta) do |embed|
|
|
@@ -94,7 +94,7 @@ Squib::Deck.new do
|
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
embed_text = 'You can adjust the icon with dx and dy. Normal: :tool: Adjusted: :heart:'
|
|
97
|
-
text(str: embed_text, font: 'Sans
|
|
97
|
+
text(str: embed_text, font: 'Sans 6', x: 400, y: 640, width: 180,
|
|
98
98
|
height: 300, hint: :magenta) do |embed|
|
|
99
99
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
100
100
|
embed.svg key: ':heart:', width: 28, height: 28, dx: 10, dy: 10,
|
|
@@ -102,7 +102,7 @@ Squib::Deck.new do
|
|
|
102
102
|
end
|
|
103
103
|
|
|
104
104
|
embed_text = "Native sizes work too\n:tool:\n\n\n\n\n\n:shiny-purse:\n\n\n\n\n\n:tool2:"
|
|
105
|
-
text(str: embed_text, font: 'Sans
|
|
105
|
+
text(str: embed_text, font: 'Sans 6', x: 600, y: 640, width: 180,
|
|
106
106
|
height: 475, hint: :magenta) do |embed|
|
|
107
107
|
embed.svg key: ':tool:', width: :native, height: :native,
|
|
108
108
|
file: 'spanner.svg'
|
|
@@ -118,7 +118,7 @@ end
|
|
|
118
118
|
Squib::Deck.new(cards: 3) do
|
|
119
119
|
background color: :white
|
|
120
120
|
str = 'Take 1 :tool: and gain 2 :health:.'
|
|
121
|
-
text(str: str, font: 'Sans', font_size: [
|
|
121
|
+
text(str: str, font: 'Sans', font_size: [6, 8.5, 11.5],
|
|
122
122
|
x: 0, y: 0, width: 180, height: 300, valign: :bottom,
|
|
123
123
|
align: :left, ellipsize: false, justify: false, hint: :cyan) do |embed|
|
|
124
124
|
embed.svg key: ':tool:', width: [28, 42, 56], height: [28, 42, 56], file: 'spanner.svg'
|
data/samples/text/_text.rb
CHANGED
|
@@ -5,31 +5,31 @@ Squib::Deck.new(width: 1000, height: 1250) do
|
|
|
5
5
|
draw_graph_paper width, height
|
|
6
6
|
|
|
7
7
|
sample 'Font strings are quite expressive. Specify family, modifiers, then size. Font names with spaces in them should end with a comma to help with parsing.' do |x, y|
|
|
8
|
-
text font: 'Arial bold italic
|
|
9
|
-
text font: 'Arial weight=300
|
|
10
|
-
text font: 'Times New Roman,
|
|
11
|
-
text font: 'NoSuchFont,Arial
|
|
8
|
+
text font: 'Arial bold italic 11', str: 'Bold and italic!', x: x, y: y - 50
|
|
9
|
+
text font: 'Arial weight=300 11', str: 'Light bold!', x: x, y: y
|
|
10
|
+
text font: 'Times New Roman, 11', str: 'Times New Roman', x: x, y: y + 50
|
|
11
|
+
text font: 'NoSuchFont,Arial 11', str: 'Arial Backup', x: x, y: y + 100
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
sample 'Specify width and height to see a text box. Also: set "hint" to see the extents of your text box' do |x, y|
|
|
15
15
|
text str: 'This has fixed width and height.', x: x, y: y,
|
|
16
|
-
hint: :red, width: 300, height: 100, font: 'Serif bold
|
|
16
|
+
hint: :red, width: 300, height: 100, font: 'Serif bold 8'
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
sample 'If you specify the width only, the text will ellipsize.' do |x, y|
|
|
20
20
|
text str: 'The meaning of life is 42', x: x - 50, y: y,
|
|
21
|
-
hint: :red, width: 350, font: 'Serif bold
|
|
21
|
+
hint: :red, width: 350, font: 'Serif bold 7'
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
sample 'If you specify the width only, and turn off ellipsize, the height will auto-stretch.' do |x, y|
|
|
25
25
|
text str: 'This has fixed width, but not fixed height.', x: x, y: y,
|
|
26
|
-
hint: :red, width: 300, ellipsize: false, font: 'Serif bold
|
|
26
|
+
hint: :red, width: 300, ellipsize: false, font: 'Serif bold 8'
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
sample 'The text method returns the ink extents of each card\'s rendered text. So you can custom-fit a shape around it.' do |x, y|
|
|
30
30
|
['Auto fit!', 'Auto fit!!!!' ].each.with_index do |str, i|
|
|
31
31
|
text_y = y + i * 50
|
|
32
|
-
extents = text str: str, x: x, y: text_y, font: 'Sans Bold
|
|
32
|
+
extents = text str: str, x: x, y: text_y, font: 'Sans Bold 8'
|
|
33
33
|
|
|
34
34
|
# Extents come back as an array of hashes, which can get split out like this
|
|
35
35
|
text_width = extents[0][:width]
|
|
@@ -11,28 +11,28 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
|
|
|
11
11
|
rect x: 30, y: 30, width: 128, height: 128, x_radius: 25, y_radius: 25
|
|
12
12
|
|
|
13
13
|
# Arrays are rendered over each card
|
|
14
|
-
text str: data['name'], x: 250, y: 55, font: 'Arial weight=900
|
|
15
|
-
text str: data['level'], x: 65, y: 40, font: 'Arial
|
|
14
|
+
text str: data['name'], x: 250, y: 55, font: 'Arial weight=900 18'
|
|
15
|
+
text str: data['level'], x: 65, y: 40, font: 'Arial 24', color: :burnt_orange
|
|
16
16
|
|
|
17
17
|
text str: 'Font strings are expressive!', x:65, y: 200,
|
|
18
|
-
font: 'Impact bold italic
|
|
18
|
+
font: 'Impact bold italic 12'
|
|
19
19
|
|
|
20
20
|
text str: 'Font strings are expressive!', x:65, y: 300,
|
|
21
|
-
font: 'Arial,Verdana weight=900 style=oblique
|
|
21
|
+
font: 'Arial,Verdana weight=900 style=oblique 12'
|
|
22
22
|
|
|
23
23
|
text str: 'Font string sizes can be overridden per card.', x: 65, y: 350,
|
|
24
|
-
font: 'Impact
|
|
24
|
+
font: 'Impact 12', font_size: [5, 7, 8]
|
|
25
25
|
|
|
26
26
|
text str: 'This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint',
|
|
27
27
|
hint: :red,
|
|
28
28
|
x: 65, y: 400,
|
|
29
29
|
width: 300, height: 125,
|
|
30
30
|
align: :center, valign: 'MIDDLE', # these can be specified with case-insenstive strings too
|
|
31
|
-
font: 'Serif
|
|
31
|
+
font: 'Serif 5'
|
|
32
32
|
|
|
33
33
|
extents = text str: 'Ink extent return value',
|
|
34
34
|
x: 65, y: 550,
|
|
35
|
-
font: 'Sans Bold', font_size: [
|
|
35
|
+
font: 'Sans Bold', font_size: [5, 7, 8]
|
|
36
36
|
margin = 10
|
|
37
37
|
# Extents come back as an array of hashes, which can get split out like this
|
|
38
38
|
ws = extents.inject([]) { |arr, ext| arr << ext[:width] + 10; arr }
|
|
@@ -43,28 +43,28 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
|
|
|
43
43
|
|
|
44
44
|
# If width & height are defined and the text will overflow the box, we can ellipsize.
|
|
45
45
|
text str: "Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42",
|
|
46
|
-
hint: :green, font: 'Arial
|
|
46
|
+
hint: :green, font: 'Arial 7',
|
|
47
47
|
x: 450, y: 400,
|
|
48
48
|
width: 280, height: 180,
|
|
49
49
|
ellipsize: true
|
|
50
50
|
|
|
51
51
|
# Text hints are guides for showing you how your text boxes are laid out exactly
|
|
52
52
|
hint text: :cyan
|
|
53
|
-
set font: 'Serif
|
|
53
|
+
set font: 'Serif 7' # Impacts all future text calls (unless they specify differently)
|
|
54
54
|
text str: 'Text hints & fonts are globally togglable!', x: 65, y: 625
|
|
55
55
|
set font: :default # back to Squib-wide default
|
|
56
56
|
hint text: :off
|
|
57
57
|
text str: 'See? No hint here.',
|
|
58
58
|
x: 565, y: 625,
|
|
59
|
-
font: 'Arial
|
|
59
|
+
font: 'Arial 7'
|
|
60
60
|
|
|
61
61
|
# Text can be rotated, in radians, about the upper-left corner of the text box.
|
|
62
62
|
text str: 'Rotated',
|
|
63
63
|
x: 565, y: 675, angle: 0.2,
|
|
64
|
-
font: 'Arial
|
|
64
|
+
font: 'Arial 6', hint: :red
|
|
65
65
|
|
|
66
66
|
# Text can be justified, and have newlines
|
|
67
|
-
text str: longtext, font: 'Arial
|
|
67
|
+
text str: longtext, font: 'Arial 5',
|
|
68
68
|
x: 65, y: 700,
|
|
69
69
|
width: '1.5in', height: inches(1),
|
|
70
70
|
justify: true, spacing: -6
|
|
@@ -72,7 +72,7 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
|
|
|
72
72
|
# Here's how you embed images into text.
|
|
73
73
|
# Pass a block to the method call and use the given context
|
|
74
74
|
embed_text = 'Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:'
|
|
75
|
-
text(str: embed_text, font: 'Sans
|
|
75
|
+
text(str: embed_text, font: 'Sans 6',
|
|
76
76
|
x: '1.8in', y: '2.5in', width: '0.85in',
|
|
77
77
|
align: :left, ellipsize: false) do |embed|
|
|
78
78
|
embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
|
|
@@ -81,22 +81,22 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
|
|
|
81
81
|
|
|
82
82
|
text str: 'Fill n <span fgcolor="#ff0000">stroke</span>',
|
|
83
83
|
color: :green, stroke_width: 2.0, stroke_color: :blue,
|
|
84
|
-
x: '1.8in', y: '2.9in', width: '0.85in', font: 'Sans Bold
|
|
84
|
+
x: '1.8in', y: '2.9in', width: '0.85in', font: 'Sans Bold 9', markup: true
|
|
85
85
|
|
|
86
86
|
text str: 'Stroke n <span fgcolor="#ff0000">fill</span>',
|
|
87
87
|
color: :green, stroke_width: 2.0, stroke_color: :blue, stroke_strategy: :stroke_first,
|
|
88
|
-
x: '1.8in', y: '3.0in', width: '0.85in', font: 'Sans Bold
|
|
88
|
+
x: '1.8in', y: '3.0in', width: '0.85in', font: 'Sans Bold 9', markup: true
|
|
89
89
|
|
|
90
90
|
text str: 'Dotted',
|
|
91
91
|
color: :white, stroke_width: 2.0, dash: '4 2', stroke_color: :black,
|
|
92
|
-
x: '1.8in', y: '3.1in', width: '0.85in', font: 'Sans Bold
|
|
92
|
+
x: '1.8in', y: '3.1in', width: '0.85in', font: 'Sans Bold 9', markup: true
|
|
93
93
|
#
|
|
94
94
|
text str: "<b>Markup</b> is <i>quite</i> <s>'easy'</s> <span fgcolor=\"\#ff0000\">awesome</span>. Can't beat those \"smart\" 'quotes', now with 10--20% more en-dashes --- and em-dashes --- with explicit ellipses too...",
|
|
95
95
|
markup: true,
|
|
96
96
|
x: 50, y: 1000,
|
|
97
97
|
width: 750, height: 100,
|
|
98
98
|
valign: :bottom,
|
|
99
|
-
font: 'Serif
|
|
99
|
+
font: 'Serif 6', hint: :cyan
|
|
100
100
|
|
|
101
101
|
save prefix: 'text_options_', format: :png
|
|
102
102
|
end
|
data/squib.gemspec
CHANGED
|
@@ -29,22 +29,23 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.test_files = spec.files.grep(/^(spec|samples|docs|benchmarks)\//)
|
|
30
30
|
spec.require_paths = ['lib']
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
spec.add_runtime_dependency 'cairo', '1.15.9'
|
|
33
|
+
spec.add_runtime_dependency 'classy_hash', '0.2.1'
|
|
34
|
+
spec.add_runtime_dependency 'gio2', '3.1.8'
|
|
35
|
+
spec.add_runtime_dependency 'gobject-introspection', '3.1.8'
|
|
36
|
+
spec.add_runtime_dependency 'highline', '1.7.8'
|
|
37
|
+
spec.add_runtime_dependency 'mercenary', '0.3.6'
|
|
38
|
+
spec.add_runtime_dependency 'nokogiri', '1.8.1'
|
|
39
|
+
spec.add_runtime_dependency 'pango', '3.1.8'
|
|
40
|
+
spec.add_runtime_dependency 'roo', '2.7.1'
|
|
41
|
+
spec.add_runtime_dependency 'rsvg2', '3.1.8'
|
|
42
|
+
spec.add_runtime_dependency 'ruby-progressbar', '1.9.0'
|
|
43
|
+
|
|
44
|
+
spec.add_development_dependency 'bundler'
|
|
45
|
+
spec.add_development_dependency 'coveralls'
|
|
46
|
+
spec.add_development_dependency 'game_icons'
|
|
47
|
+
spec.add_development_dependency 'launchy'
|
|
48
|
+
spec.add_development_dependency 'rake'
|
|
49
|
+
spec.add_development_dependency 'rspec', '~> 3.3'
|
|
49
50
|
|
|
50
51
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: squib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.14.beta1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andy Meneely
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-10-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cairo
|
|
@@ -24,6 +24,20 @@ dependencies:
|
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 1.15.9
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: classy_hash
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.2.1
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 0.2.1
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: gio2
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +66,20 @@ dependencies:
|
|
|
52
66
|
- - '='
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
68
|
version: 3.1.8
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: highline
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - '='
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 1.7.8
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - '='
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.7.8
|
|
55
83
|
- !ruby/object:Gem::Dependency
|
|
56
84
|
name: mercenary
|
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,14 +100,14 @@ dependencies:
|
|
|
72
100
|
requirements:
|
|
73
101
|
- - '='
|
|
74
102
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 1.8.
|
|
103
|
+
version: 1.8.1
|
|
76
104
|
type: :runtime
|
|
77
105
|
prerelease: false
|
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
107
|
requirements:
|
|
80
108
|
- - '='
|
|
81
109
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 1.8.
|
|
110
|
+
version: 1.8.1
|
|
83
111
|
- !ruby/object:Gem::Dependency
|
|
84
112
|
name: pango
|
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -95,47 +123,47 @@ dependencies:
|
|
|
95
123
|
- !ruby/object:Gem::Version
|
|
96
124
|
version: 3.1.8
|
|
97
125
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
126
|
+
name: roo
|
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
|
100
128
|
requirements:
|
|
101
129
|
- - '='
|
|
102
130
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
131
|
+
version: 2.7.1
|
|
104
132
|
type: :runtime
|
|
105
133
|
prerelease: false
|
|
106
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
135
|
requirements:
|
|
108
136
|
- - '='
|
|
109
137
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
138
|
+
version: 2.7.1
|
|
111
139
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
140
|
+
name: rsvg2
|
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
|
114
142
|
requirements:
|
|
115
143
|
- - '='
|
|
116
144
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
145
|
+
version: 3.1.8
|
|
118
146
|
type: :runtime
|
|
119
147
|
prerelease: false
|
|
120
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
149
|
requirements:
|
|
122
150
|
- - '='
|
|
123
151
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
152
|
+
version: 3.1.8
|
|
125
153
|
- !ruby/object:Gem::Dependency
|
|
126
154
|
name: ruby-progressbar
|
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
|
128
156
|
requirements:
|
|
129
157
|
- - '='
|
|
130
158
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 1.
|
|
159
|
+
version: 1.9.0
|
|
132
160
|
type: :runtime
|
|
133
161
|
prerelease: false
|
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
163
|
requirements:
|
|
136
164
|
- - '='
|
|
137
165
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 1.
|
|
166
|
+
version: 1.9.0
|
|
139
167
|
- !ruby/object:Gem::Dependency
|
|
140
168
|
name: bundler
|
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -151,7 +179,7 @@ dependencies:
|
|
|
151
179
|
- !ruby/object:Gem::Version
|
|
152
180
|
version: '0'
|
|
153
181
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
182
|
+
name: coveralls
|
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
|
156
184
|
requirements:
|
|
157
185
|
- - ">="
|
|
@@ -165,21 +193,21 @@ dependencies:
|
|
|
165
193
|
- !ruby/object:Gem::Version
|
|
166
194
|
version: '0'
|
|
167
195
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
196
|
+
name: game_icons
|
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
|
170
198
|
requirements:
|
|
171
|
-
- - "
|
|
199
|
+
- - ">="
|
|
172
200
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '
|
|
201
|
+
version: '0'
|
|
174
202
|
type: :development
|
|
175
203
|
prerelease: false
|
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
205
|
requirements:
|
|
178
|
-
- - "
|
|
206
|
+
- - ">="
|
|
179
207
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '
|
|
208
|
+
version: '0'
|
|
181
209
|
- !ruby/object:Gem::Dependency
|
|
182
|
-
name:
|
|
210
|
+
name: launchy
|
|
183
211
|
requirement: !ruby/object:Gem::Requirement
|
|
184
212
|
requirements:
|
|
185
213
|
- - ">="
|
|
@@ -193,7 +221,7 @@ dependencies:
|
|
|
193
221
|
- !ruby/object:Gem::Version
|
|
194
222
|
version: '0'
|
|
195
223
|
- !ruby/object:Gem::Dependency
|
|
196
|
-
name:
|
|
224
|
+
name: rake
|
|
197
225
|
requirement: !ruby/object:Gem::Requirement
|
|
198
226
|
requirements:
|
|
199
227
|
- - ">="
|
|
@@ -207,19 +235,19 @@ dependencies:
|
|
|
207
235
|
- !ruby/object:Gem::Version
|
|
208
236
|
version: '0'
|
|
209
237
|
- !ruby/object:Gem::Dependency
|
|
210
|
-
name:
|
|
238
|
+
name: rspec
|
|
211
239
|
requirement: !ruby/object:Gem::Requirement
|
|
212
240
|
requirements:
|
|
213
|
-
- - "
|
|
241
|
+
- - "~>"
|
|
214
242
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: '
|
|
243
|
+
version: '3.3'
|
|
216
244
|
type: :development
|
|
217
245
|
prerelease: false
|
|
218
246
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
247
|
requirements:
|
|
220
|
-
- - "
|
|
248
|
+
- - "~>"
|
|
221
249
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: '
|
|
250
|
+
version: '3.3'
|
|
223
251
|
description: Squib is a Ruby DSL for prototyping card games
|
|
224
252
|
email: andy.meneely@gmail.com
|
|
225
253
|
executables:
|
|
@@ -237,6 +265,7 @@ extra_rdoc_files:
|
|
|
237
265
|
- samples/config/custom_config.rb
|
|
238
266
|
- samples/data/_csv.rb
|
|
239
267
|
- samples/data/_excel.rb
|
|
268
|
+
- samples/data/_yaml.rb
|
|
240
269
|
- samples/hello_world.rb
|
|
241
270
|
- samples/images/_cairo_access.rb
|
|
242
271
|
- samples/images/_images.rb
|
|
@@ -259,6 +288,12 @@ extra_rdoc_files:
|
|
|
259
288
|
- samples/saves/_save_pdf.rb
|
|
260
289
|
- samples/saves/_showcase.rb
|
|
261
290
|
- samples/shapes/_draw_shapes.rb
|
|
291
|
+
- samples/shapes/_proofs.rb
|
|
292
|
+
- samples/sprues/_builtin_sprues.rb
|
|
293
|
+
- samples/sprues/_fold_sheet.rb
|
|
294
|
+
- samples/sprues/_hex_tiles.rb
|
|
295
|
+
- samples/sprues/_mints.rb
|
|
296
|
+
- samples/sprues/_sprue_example.rb
|
|
262
297
|
- samples/text/bug134.rb
|
|
263
298
|
- samples/text/_embed_text.rb
|
|
264
299
|
- samples/text/_text.rb
|
|
@@ -306,11 +341,55 @@ files:
|
|
|
306
341
|
- lib/squib/args/scale_box.rb
|
|
307
342
|
- lib/squib/args/sheet.rb
|
|
308
343
|
- lib/squib/args/showcase_special.rb
|
|
344
|
+
- lib/squib/args/sprue_file.rb
|
|
309
345
|
- lib/squib/args/svg_special.rb
|
|
310
346
|
- lib/squib/args/transform.rb
|
|
311
347
|
- lib/squib/args/typographer.rb
|
|
312
348
|
- lib/squib/args/unit_conversion.rb
|
|
349
|
+
- lib/squib/builtin/layouts/economy.yml
|
|
350
|
+
- lib/squib/builtin/layouts/fantasy.yml
|
|
351
|
+
- lib/squib/builtin/layouts/hand.yml
|
|
352
|
+
- lib/squib/builtin/layouts/party.yml
|
|
353
|
+
- lib/squib/builtin/layouts/playing-card.yml
|
|
354
|
+
- lib/squib/builtin/layouts/tuck_box.yml
|
|
355
|
+
- lib/squib/builtin/projects/advanced/.gitignore
|
|
356
|
+
- lib/squib/builtin/projects/advanced/ABOUT.md
|
|
357
|
+
- lib/squib/builtin/projects/advanced/Gemfile
|
|
358
|
+
- lib/squib/builtin/projects/advanced/Guardfile
|
|
359
|
+
- lib/squib/builtin/projects/advanced/IDEAS.md
|
|
360
|
+
- lib/squib/builtin/projects/advanced/PLAYTESTING.md
|
|
361
|
+
- lib/squib/builtin/projects/advanced/Rakefile
|
|
362
|
+
- lib/squib/builtin/projects/advanced/_output/gitkeep.txt
|
|
363
|
+
- lib/squib/builtin/projects/advanced/config.yml
|
|
364
|
+
- lib/squib/builtin/projects/advanced/data/game.xlsx
|
|
365
|
+
- lib/squib/builtin/projects/advanced/docs/PNP NOTES.md
|
|
366
|
+
- lib/squib/builtin/projects/advanced/docs/RULES.md
|
|
367
|
+
- lib/squib/builtin/projects/advanced/img/example.svg
|
|
368
|
+
- lib/squib/builtin/projects/advanced/layouts/deck.yml
|
|
369
|
+
- lib/squib/builtin/projects/advanced/src/deck.rb
|
|
370
|
+
- lib/squib/builtin/projects/advanced/src/version.rb
|
|
371
|
+
- lib/squib/builtin/projects/basic/.gitignore
|
|
372
|
+
- lib/squib/builtin/projects/basic/ABOUT.md
|
|
373
|
+
- lib/squib/builtin/projects/basic/Gemfile
|
|
374
|
+
- lib/squib/builtin/projects/basic/IDEAS.md
|
|
375
|
+
- lib/squib/builtin/projects/basic/PLAYTESTING.md
|
|
376
|
+
- lib/squib/builtin/projects/basic/PNP NOTES.md
|
|
377
|
+
- lib/squib/builtin/projects/basic/RULES.md
|
|
378
|
+
- lib/squib/builtin/projects/basic/Rakefile
|
|
379
|
+
- lib/squib/builtin/projects/basic/_output/gitkeep.txt
|
|
380
|
+
- lib/squib/builtin/projects/basic/config.yml
|
|
381
|
+
- lib/squib/builtin/projects/basic/deck.rb
|
|
382
|
+
- lib/squib/builtin/projects/basic/layout.yml
|
|
383
|
+
- lib/squib/builtin/sprues/a4_euro_card.yml
|
|
384
|
+
- lib/squib/builtin/sprues/a4_poker_card_8up.yml
|
|
385
|
+
- lib/squib/builtin/sprues/a4_poker_card_9up.yml
|
|
386
|
+
- lib/squib/builtin/sprues/a4_usa_card.yml
|
|
387
|
+
- lib/squib/builtin/sprues/letter_poker_card_9up.yml
|
|
388
|
+
- lib/squib/builtin/sprues/letter_poker_foldable_8up.yml
|
|
313
389
|
- lib/squib/card.rb
|
|
390
|
+
- lib/squib/commands/cli.rb
|
|
391
|
+
- lib/squib/commands/data/template_option.rb
|
|
392
|
+
- lib/squib/commands/make_sprue.rb
|
|
314
393
|
- lib/squib/commands/new.rb
|
|
315
394
|
- lib/squib/conf.rb
|
|
316
395
|
- lib/squib/constants.rb
|
|
@@ -324,30 +403,19 @@ files:
|
|
|
324
403
|
- lib/squib/graphics/save_doc.rb
|
|
325
404
|
- lib/squib/graphics/save_images.rb
|
|
326
405
|
- lib/squib/graphics/save_pdf.rb
|
|
406
|
+
- lib/squib/graphics/save_sprue.rb
|
|
327
407
|
- lib/squib/graphics/shapes.rb
|
|
328
408
|
- lib/squib/graphics/showcase.rb
|
|
329
409
|
- lib/squib/graphics/text.rb
|
|
330
410
|
- lib/squib/import/data_frame.rb
|
|
331
411
|
- lib/squib/layout_parser.rb
|
|
332
|
-
- lib/squib/layouts/economy.yml
|
|
333
|
-
- lib/squib/layouts/fantasy.yml
|
|
334
|
-
- lib/squib/layouts/hand.yml
|
|
335
|
-
- lib/squib/layouts/playing-card.yml
|
|
336
|
-
- lib/squib/layouts/tuck_box.yml
|
|
337
412
|
- lib/squib/progress.rb
|
|
338
|
-
- lib/squib/project_template/.gitignore
|
|
339
|
-
- lib/squib/project_template/ABOUT.md
|
|
340
|
-
- lib/squib/project_template/Gemfile
|
|
341
|
-
- lib/squib/project_template/IDEAS.md
|
|
342
|
-
- lib/squib/project_template/PLAYTESTING.md
|
|
343
|
-
- lib/squib/project_template/PNP NOTES.md
|
|
344
|
-
- lib/squib/project_template/RULES.md
|
|
345
|
-
- lib/squib/project_template/Rakefile
|
|
346
|
-
- lib/squib/project_template/_output/gitkeep.txt
|
|
347
|
-
- lib/squib/project_template/config.yml
|
|
348
|
-
- lib/squib/project_template/deck.rb
|
|
349
|
-
- lib/squib/project_template/layout.yml
|
|
350
413
|
- lib/squib/sample_helpers.rb
|
|
414
|
+
- lib/squib/sprues/crop_line.rb
|
|
415
|
+
- lib/squib/sprues/crop_line_dash.rb
|
|
416
|
+
- lib/squib/sprues/invalid_sprue_definition.rb
|
|
417
|
+
- lib/squib/sprues/sprue.rb
|
|
418
|
+
- lib/squib/sprues/sprue_schema.rb
|
|
351
419
|
- lib/squib/version.rb
|
|
352
420
|
- samples/autoscale_font/_autoscale_font.rb
|
|
353
421
|
- samples/backend/_backend.rb
|
|
@@ -359,6 +427,7 @@ files:
|
|
|
359
427
|
- samples/config/custom_config.rb
|
|
360
428
|
- samples/data/_csv.rb
|
|
361
429
|
- samples/data/_excel.rb
|
|
430
|
+
- samples/data/_yaml.rb
|
|
362
431
|
- samples/hello_world.rb
|
|
363
432
|
- samples/images/_cairo_access.rb
|
|
364
433
|
- samples/images/_images.rb
|
|
@@ -381,6 +450,12 @@ files:
|
|
|
381
450
|
- samples/saves/_saves.rb
|
|
382
451
|
- samples/saves/_showcase.rb
|
|
383
452
|
- samples/shapes/_draw_shapes.rb
|
|
453
|
+
- samples/shapes/_proofs.rb
|
|
454
|
+
- samples/sprues/_builtin_sprues.rb
|
|
455
|
+
- samples/sprues/_fold_sheet.rb
|
|
456
|
+
- samples/sprues/_hex_tiles.rb
|
|
457
|
+
- samples/sprues/_mints.rb
|
|
458
|
+
- samples/sprues/_sprue_example.rb
|
|
384
459
|
- samples/text/_embed_text.rb
|
|
385
460
|
- samples/text/_text.rb
|
|
386
461
|
- samples/text/_text_options.rb
|
|
@@ -403,9 +478,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
403
478
|
version: 2.2.0
|
|
404
479
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
405
480
|
requirements:
|
|
406
|
-
- - "
|
|
481
|
+
- - ">"
|
|
407
482
|
- !ruby/object:Gem::Version
|
|
408
|
-
version:
|
|
483
|
+
version: 1.3.1
|
|
409
484
|
requirements: []
|
|
410
485
|
rubyforge_project:
|
|
411
486
|
rubygems_version: 2.6.7
|
|
@@ -423,6 +498,7 @@ test_files:
|
|
|
423
498
|
- samples/config/custom_config.rb
|
|
424
499
|
- samples/data/_csv.rb
|
|
425
500
|
- samples/data/_excel.rb
|
|
501
|
+
- samples/data/_yaml.rb
|
|
426
502
|
- samples/hello_world.rb
|
|
427
503
|
- samples/images/_cairo_access.rb
|
|
428
504
|
- samples/images/_images.rb
|
|
@@ -445,6 +521,12 @@ test_files:
|
|
|
445
521
|
- samples/saves/_saves.rb
|
|
446
522
|
- samples/saves/_showcase.rb
|
|
447
523
|
- samples/shapes/_draw_shapes.rb
|
|
524
|
+
- samples/shapes/_proofs.rb
|
|
525
|
+
- samples/sprues/_builtin_sprues.rb
|
|
526
|
+
- samples/sprues/_fold_sheet.rb
|
|
527
|
+
- samples/sprues/_hex_tiles.rb
|
|
528
|
+
- samples/sprues/_mints.rb
|
|
529
|
+
- samples/sprues/_sprue_example.rb
|
|
448
530
|
- samples/text/_embed_text.rb
|
|
449
531
|
- samples/text/_text.rb
|
|
450
532
|
- samples/text/_text_options.rb
|