squib 0.18.0 → 0.19.0a

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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +39 -39
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +22 -22
  4. data/.github/ISSUE_TEMPLATE/help-wanted.md +13 -13
  5. data/.github/ISSUE_TEMPLATE/release-todo.md +45 -33
  6. data/.github/PULL_REQUEST_TEMPLATE.md +13 -13
  7. data/.github/workflows/tests.yml +22 -22
  8. data/.gitignore +41 -41
  9. data/.vscode/settings.json +4 -3
  10. data/CHANGELOG.md +460 -460
  11. data/CONTRIBUTING.md +40 -40
  12. data/Dockerfile +27 -27
  13. data/Gemfile +2 -2
  14. data/Guardfile +8 -8
  15. data/LICENSE.txt +22 -22
  16. data/README.md +139 -139
  17. data/Rakefile +51 -51
  18. data/bin/squib +5 -5
  19. data/lib/squib/api/settings.rb +21 -21
  20. data/lib/squib/args/arg_loader.rb +138 -138
  21. data/lib/squib/args/box.rb +59 -59
  22. data/lib/squib/args/card_range.rb +34 -34
  23. data/lib/squib/args/color_validator.rb +7 -7
  24. data/lib/squib/args/coords.rb +49 -49
  25. data/lib/squib/args/csv_opts.rb +22 -22
  26. data/lib/squib/args/dir_validator.rb +11 -11
  27. data/lib/squib/args/draw.rb +93 -93
  28. data/lib/squib/args/drop_shadow.rb +39 -39
  29. data/lib/squib/args/embed_adjust.rb +22 -22
  30. data/lib/squib/args/embed_key.rb +12 -12
  31. data/lib/squib/args/hand_special.rb +37 -37
  32. data/lib/squib/args/import.rb +67 -67
  33. data/lib/squib/args/input_file.rb +55 -55
  34. data/lib/squib/args/paint.rb +43 -43
  35. data/lib/squib/args/paragraph.rb +118 -118
  36. data/lib/squib/args/save_batch.rb +65 -65
  37. data/lib/squib/args/scale_box.rb +57 -57
  38. data/lib/squib/args/sheet.rb +165 -165
  39. data/lib/squib/args/showcase_special.rb +41 -41
  40. data/lib/squib/args/sprue_file.rb +44 -44
  41. data/lib/squib/args/svg_special.rb +37 -37
  42. data/lib/squib/args/transform.rb +55 -55
  43. data/lib/squib/args/typographer.rb +115 -115
  44. data/lib/squib/args/unit_conversion.rb +27 -27
  45. data/lib/squib/args/xywh_shorthands.rb +50 -50
  46. data/lib/squib/builtin/layouts/economy.yml +85 -85
  47. data/lib/squib/builtin/layouts/fantasy.yml +101 -101
  48. data/lib/squib/builtin/layouts/hand.yml +62 -62
  49. data/lib/squib/builtin/layouts/party.yml +94 -94
  50. data/lib/squib/builtin/layouts/playing-card.yml +35 -35
  51. data/lib/squib/builtin/layouts/tuck_box.yml +46 -46
  52. data/lib/squib/builtin/projects/advanced/.gitignore +4 -4
  53. data/lib/squib/builtin/projects/advanced/ABOUT.md +19 -19
  54. data/lib/squib/builtin/projects/advanced/Gemfile +11 -11
  55. data/lib/squib/builtin/projects/advanced/Guardfile +21 -21
  56. data/lib/squib/builtin/projects/advanced/IDEAS.md +22 -22
  57. data/lib/squib/builtin/projects/advanced/PLAYTESTING.md +26 -26
  58. data/lib/squib/builtin/projects/advanced/Rakefile +27 -27
  59. data/lib/squib/builtin/projects/advanced/config.yml +49 -49
  60. data/lib/squib/builtin/projects/advanced/docs/PNP NOTES.md +3 -3
  61. data/lib/squib/builtin/projects/advanced/docs/RULES.md +21 -21
  62. data/lib/squib/builtin/projects/advanced/img/example.svg +60 -60
  63. data/lib/squib/builtin/projects/advanced/layouts/deck.yml +27 -27
  64. data/lib/squib/builtin/projects/advanced/src/deck.rb +34 -34
  65. data/lib/squib/builtin/projects/advanced/src/version.rb +3 -3
  66. data/lib/squib/builtin/projects/basic/.gitignore +4 -4
  67. data/lib/squib/builtin/projects/basic/ABOUT.md +19 -19
  68. data/lib/squib/builtin/projects/basic/Gemfile +3 -3
  69. data/lib/squib/builtin/projects/basic/IDEAS.md +22 -22
  70. data/lib/squib/builtin/projects/basic/PLAYTESTING.md +26 -26
  71. data/lib/squib/builtin/projects/basic/PNP NOTES.md +3 -3
  72. data/lib/squib/builtin/projects/basic/RULES.md +21 -21
  73. data/lib/squib/builtin/projects/basic/Rakefile +7 -7
  74. data/lib/squib/builtin/projects/basic/config.yml +50 -50
  75. data/lib/squib/builtin/projects/basic/deck.rb +6 -6
  76. data/lib/squib/builtin/sprues/a4_euro_card.yml +42 -42
  77. data/lib/squib/builtin/sprues/a4_poker_card_8up.yml +40 -40
  78. data/lib/squib/builtin/sprues/a4_poker_card_9up.yml +42 -42
  79. data/lib/squib/builtin/sprues/a4_usa_card.yml +42 -42
  80. data/lib/squib/builtin/sprues/drivethrucards_1up.yml +10 -10
  81. data/lib/squib/builtin/sprues/letter_poker_card_9up.yml +25 -25
  82. data/lib/squib/builtin/sprues/letter_poker_foldable_8up.yml +52 -52
  83. data/lib/squib/builtin/sprues/printplaygames_18up.yml +68 -68
  84. data/lib/squib/card.rb +75 -75
  85. data/lib/squib/commands/cli.rb +39 -39
  86. data/lib/squib/commands/data/template_option.rb +109 -109
  87. data/lib/squib/commands/make_sprue.rb +277 -277
  88. data/lib/squib/commands/new.rb +77 -77
  89. data/lib/squib/conf.rb +149 -149
  90. data/lib/squib/constants.rb +17 -17
  91. data/lib/squib/deck.rb +138 -138
  92. data/lib/squib/dsl/background.rb +35 -35
  93. data/lib/squib/dsl/circle.rb +39 -39
  94. data/lib/squib/dsl/csv.rb +42 -42
  95. data/lib/squib/dsl/curve.rb +35 -35
  96. data/lib/squib/dsl/cut_zone.rb +47 -47
  97. data/lib/squib/dsl/ellipse.rb +37 -37
  98. data/lib/squib/dsl/grid.rb +35 -35
  99. data/lib/squib/dsl/groups.rb +54 -54
  100. data/lib/squib/dsl/hand.rb +42 -42
  101. data/lib/squib/dsl/line.rb +35 -35
  102. data/lib/squib/dsl/png.rb +57 -57
  103. data/lib/squib/dsl/polygon.rb +36 -36
  104. data/lib/squib/dsl/rect.rb +37 -37
  105. data/lib/squib/dsl/safe_zone.rb +48 -48
  106. data/lib/squib/dsl/save.rb +21 -21
  107. data/lib/squib/dsl/save_pdf.rb +50 -50
  108. data/lib/squib/dsl/save_png.rb +48 -48
  109. data/lib/squib/dsl/save_sheet.rb +53 -53
  110. data/lib/squib/dsl/showcase.rb +43 -43
  111. data/lib/squib/dsl/star.rb +37 -37
  112. data/lib/squib/dsl/svg.rb +63 -63
  113. data/lib/squib/dsl/text.rb +54 -54
  114. data/lib/squib/dsl/text_embed.rb +79 -79
  115. data/lib/squib/dsl/triangle.rb +35 -35
  116. data/lib/squib/dsl/units.rb +37 -37
  117. data/lib/squib/dsl/xlsx.rb +40 -40
  118. data/lib/squib/dsl/yaml.rb +40 -40
  119. data/lib/squib/errors_warnings/warn_unexpected_params.rb +14 -14
  120. data/lib/squib/graphics/background.rb +14 -14
  121. data/lib/squib/graphics/cairo_context_wrapper.rb +115 -115
  122. data/lib/squib/graphics/embedding_utils.rb +28 -28
  123. data/lib/squib/graphics/gradient_regex.rb +47 -47
  124. data/lib/squib/graphics/hand.rb +42 -42
  125. data/lib/squib/graphics/image.rb +123 -123
  126. data/lib/squib/graphics/save_doc.rb +77 -77
  127. data/lib/squib/graphics/save_images.rb +91 -91
  128. data/lib/squib/graphics/save_pdf.rb +90 -90
  129. data/lib/squib/graphics/save_sprue.rb +231 -231
  130. data/lib/squib/graphics/shapes.rb +143 -143
  131. data/lib/squib/graphics/showcase.rb +85 -85
  132. data/lib/squib/graphics/text.rb +202 -202
  133. data/lib/squib/import/csv_importer.rb +45 -45
  134. data/lib/squib/import/data_frame.rb +108 -108
  135. data/lib/squib/import/quantity_exploder.rb +17 -17
  136. data/lib/squib/import/xlsx_importer.rb +28 -28
  137. data/lib/squib/import/yaml_importer.rb +30 -30
  138. data/lib/squib/layout_parser.rb +155 -155
  139. data/lib/squib/progress.rb +38 -38
  140. data/lib/squib/sample_helpers.rb +34 -34
  141. data/lib/squib/sprues/crop_line.rb +28 -28
  142. data/lib/squib/sprues/crop_line_dash.rb +35 -35
  143. data/lib/squib/sprues/invalid_sprue_definition.rb +9 -9
  144. data/lib/squib/sprues/sprue.rb +208 -208
  145. data/lib/squib/sprues/sprue_schema.rb +51 -51
  146. data/lib/squib/system_fonts.rb +16 -16
  147. data/lib/squib/version.rb +11 -11
  148. data/lib/squib.rb +35 -35
  149. data/samples/autoscale_font/_autoscale_font.rb +98 -98
  150. data/samples/backend/_backend.rb +26 -26
  151. data/samples/basic.rb +19 -19
  152. data/samples/build_groups/build_groups.rb +36 -36
  153. data/samples/colors/_colors.rb +44 -44
  154. data/samples/colors/_gradients.rb +34 -34
  155. data/samples/colors/_switch_color.rb +33 -33
  156. data/samples/config/config_text_markup.rb +20 -20
  157. data/samples/config/custom_config.rb +18 -18
  158. data/samples/data/_csv.rb +33 -33
  159. data/samples/data/_excel.rb +55 -55
  160. data/samples/data/_yaml.rb +12 -12
  161. data/samples/hello_world.rb +6 -6
  162. data/samples/images/_cairo_access.rb +39 -39
  163. data/samples/images/_images.rb +104 -104
  164. data/samples/images/_more_load_images.rb +102 -102
  165. data/samples/images/_placeholders.rb +48 -48
  166. data/samples/intro/01_hello.rb +8 -8
  167. data/samples/intro/02_options.rb +14 -14
  168. data/samples/intro/03_layout.rb +11 -11
  169. data/samples/intro/04_arrays.rb +15 -15
  170. data/samples/intro/05_excel.rb +14 -14
  171. data/samples/layouts/builtin_layouts.rb +97 -97
  172. data/samples/layouts/layouts.rb +71 -71
  173. data/samples/project/src/characters.rb +8 -8
  174. data/samples/project/src/skills.rb +7 -7
  175. data/samples/proofs/_tgc_proofs.rb +16 -16
  176. data/samples/ranges/_ranges.rb +64 -64
  177. data/samples/saves/_hand.rb +23 -23
  178. data/samples/saves/_portrait_landscape.rb +23 -23
  179. data/samples/saves/_save_filenames.rb +28 -28
  180. data/samples/saves/_save_pdf.rb +29 -29
  181. data/samples/saves/_saves.rb +75 -75
  182. data/samples/saves/_showcase.rb +25 -25
  183. data/samples/shadows/_shadow.rb +71 -71
  184. data/samples/shapes/_draw_shapes.rb +60 -60
  185. data/samples/shapes/_proofs.rb +22 -22
  186. data/samples/sprues/_advanced_sprues.rb +25 -25
  187. data/samples/sprues/_builtin_sprues.rb +22 -22
  188. data/samples/sprues/_fold_sheet.rb +30 -30
  189. data/samples/sprues/_hex_tiles.rb +15 -15
  190. data/samples/sprues/_mints.rb +11 -11
  191. data/samples/sprues/_negative_coords.rb +6 -6
  192. data/samples/sprues/_sprue_example.rb +11 -11
  193. data/samples/system_font_debug/_list_fonts.rb +14 -14
  194. data/samples/text/_embed_text.rb +128 -128
  195. data/samples/text/_text.rb +52 -52
  196. data/samples/text/_text_options.rb +103 -103
  197. data/samples/text/bug134.rb +14 -14
  198. data/samples/units/_cells.rb +50 -50
  199. data/samples/units/_shorthands.rb +48 -48
  200. data/samples/units/_units.rb +39 -39
  201. data/squib.gemspec +58 -58
  202. metadata +21 -21
@@ -1,19 +1,19 @@
1
- My Awesome Game
2
- ===============
3
-
4
- Check out my awesome game!
5
-
6
-
7
- Objective
8
- ---------
9
-
10
-
11
-
12
- Gameplay
13
- --------
14
-
15
-
16
-
17
- Ending the Game
18
- ---------------
19
-
1
+ My Awesome Game
2
+ ===============
3
+
4
+ Check out my awesome game!
5
+
6
+
7
+ Objective
8
+ ---------
9
+
10
+
11
+
12
+ Gameplay
13
+ --------
14
+
15
+
16
+
17
+ Ending the Game
18
+ ---------------
19
+
@@ -1,11 +1,11 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'squib'
4
- gem 'guard'
5
- gem 'guard-rake'
6
-
7
- # If you do any simulation or anything fancy, you might want this
8
- # gem 'rspec' # Unit testing with behavior-driven development
9
-
10
- # If you want to generate PDFs manually (e.g. rules) this is good
11
- # gem 'prawn'
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'squib'
4
+ gem 'guard'
5
+ gem 'guard-rake'
6
+
7
+ # If you do any simulation or anything fancy, you might want this
8
+ # gem 'rspec' # Unit testing with behavior-driven development
9
+
10
+ # If you want to generate PDFs manually (e.g. rules) this is good
11
+ # gem 'prawn'
@@ -1,21 +1,21 @@
1
- group :default do
2
- guard 'rake', :task => 'default' do
3
- watch %r{data/.*\.xlsx$}
4
- watch %r{data/.*\.csv$}
5
- watch %r{src/.*\.rb$}
6
- watch %r{.*\.yml}
7
- watch %r{img/.*\.svg$}
8
- watch %r{img/.*\.png$}
9
- end
10
- end
11
-
12
- group :deck do
13
- guard 'rake', :task => 'default' do
14
- watch %r{data/.*\.xlsx$}
15
- watch %r{data/.*\.csv$}
16
- watch %r{src/.*\.rb$}
17
- watch %r{.*\.yml}
18
- watch %r{img/.*\.svg$}
19
- watch %r{img/.*\.png$}
20
- end
21
- end
1
+ group :default do
2
+ guard 'rake', :task => 'default' do
3
+ watch %r{data/.*\.xlsx$}
4
+ watch %r{data/.*\.csv$}
5
+ watch %r{src/.*\.rb$}
6
+ watch %r{.*\.yml}
7
+ watch %r{img/.*\.svg$}
8
+ watch %r{img/.*\.png$}
9
+ end
10
+ end
11
+
12
+ group :deck do
13
+ guard 'rake', :task => 'default' do
14
+ watch %r{data/.*\.xlsx$}
15
+ watch %r{data/.*\.csv$}
16
+ watch %r{src/.*\.rb$}
17
+ watch %r{.*\.yml}
18
+ watch %r{img/.*\.svg$}
19
+ watch %r{img/.*\.png$}
20
+ end
21
+ end
@@ -1,22 +1,22 @@
1
- # Title Ideas
2
-
3
- * First idea
4
- * Second idea
5
-
6
-
7
- # Things to Try
8
-
9
- * Idea
10
- * Idea
11
-
12
- # Feedback Ideas
13
-
14
- * Feedback
15
- * Feedback
16
-
17
- # Problems To Work On
18
-
19
- * Problem
20
- * Problem
21
-
22
-
1
+ # Title Ideas
2
+
3
+ * First idea
4
+ * Second idea
5
+
6
+
7
+ # Things to Try
8
+
9
+ * Idea
10
+ * Idea
11
+
12
+ # Feedback Ideas
13
+
14
+ * Feedback
15
+ * Feedback
16
+
17
+ # Problems To Work On
18
+
19
+ * Problem
20
+ * Problem
21
+
22
+
@@ -1,26 +1,26 @@
1
- # Playtesting Log
2
-
3
- # Playtest Report Survey
4
-
5
- ## Basic Info
6
- * Num. Players:
7
- * How many sessions of this game have you played before?
8
- * How long did you play?
9
- * How did you prepare for teaching the rules? Read the sheet with everyone there, or did someone read it ahead of time?
10
- * What types of players played with you? What are their favorite games?
11
- * What version were you testing?
12
- * What date did you play?
13
-
14
- ## Did it work?
15
- * Was there a moment that you felt the game was "broken"? Describe what happened.
16
- * How close were the scores? Did everyone feel like they had a fair chance at winning?
17
- * Were there any moments that you had to go back to the rules for clarification? What resulted of that - are you still unclear, or was it just a misunderstanding?
18
- * Any ideas for clearer rules?
19
- * Any ideas for clearer icons, artwork, in-game helps, etc?
20
-
21
- ## Was it fun?
22
- * Based on the description, artwork, branding, etc. was this game what you expected?
23
- * Were the theme, artwork, and icons engaging?
24
- * Did this game have the depth of strategy that you were expecting?
25
- * What were the moments that people felt like they were having the most fun? The least fun?
26
- * Assuming trivial issues are fixed, would you recommend this to someone else?
1
+ # Playtesting Log
2
+
3
+ # Playtest Report Survey
4
+
5
+ ## Basic Info
6
+ * Num. Players:
7
+ * How many sessions of this game have you played before?
8
+ * How long did you play?
9
+ * How did you prepare for teaching the rules? Read the sheet with everyone there, or did someone read it ahead of time?
10
+ * What types of players played with you? What are their favorite games?
11
+ * What version were you testing?
12
+ * What date did you play?
13
+
14
+ ## Did it work?
15
+ * Was there a moment that you felt the game was "broken"? Describe what happened.
16
+ * How close were the scores? Did everyone feel like they had a fair chance at winning?
17
+ * Were there any moments that you had to go back to the rules for clarification? What resulted of that - are you still unclear, or was it just a misunderstanding?
18
+ * Any ideas for clearer rules?
19
+ * Any ideas for clearer icons, artwork, in-game helps, etc?
20
+
21
+ ## Was it fun?
22
+ * Based on the description, artwork, branding, etc. was this game what you expected?
23
+ * Were the theme, artwork, and icons engaging?
24
+ * Did this game have the depth of strategy that you were expecting?
25
+ * What were the moments that people felt like they were having the most fun? The least fun?
26
+ * Assuming trivial issues are fixed, would you recommend this to someone else?
@@ -1,27 +1,27 @@
1
- require 'squib'
2
- require 'irb'
3
- require 'rake/clean'
4
-
5
- # Add Rake's clean & clobber tasks
6
- CLEAN.include('_output/*').exclude('_output/gitkeep.txt')
7
-
8
- desc 'By default, just build the deck without extra options'
9
- task default: [:deck]
10
-
11
- desc 'Build everything, with all the options'
12
- task all: [:with_pnp, :with_proofs, :deck]
13
-
14
- desc 'Build the deck'
15
- task(:deck) { load 'src/deck.rb' }
16
-
17
- desc 'Enable proof lines'
18
- task(:with_proofs) do
19
- puts "Enabling proofing lines."
20
- Squib.enable_build_globally :proofs
21
- end
22
-
23
- desc 'Enable print-and-play builds'
24
- task(:with_pnp) do
25
- puts "Enabling print-and-play builds."
26
- Squib.enable_build_globally :pnp
27
- end
1
+ require 'squib'
2
+ require 'irb'
3
+ require 'rake/clean'
4
+
5
+ # Add Rake's clean & clobber tasks
6
+ CLEAN.include('_output/*').exclude('_output/gitkeep.txt')
7
+
8
+ desc 'By default, just build the deck without extra options'
9
+ task default: [:deck]
10
+
11
+ desc 'Build everything, with all the options'
12
+ task all: [:with_pnp, :with_proofs, :deck]
13
+
14
+ desc 'Build the deck'
15
+ task(:deck) { load 'src/deck.rb' }
16
+
17
+ desc 'Enable proof lines'
18
+ task(:with_proofs) do
19
+ puts "Enabling proofing lines."
20
+ Squib.enable_build_globally :proofs
21
+ end
22
+
23
+ desc 'Enable print-and-play builds'
24
+ task(:with_pnp) do
25
+ puts "Enabling print-and-play builds."
26
+ Squib.enable_build_globally :pnp
27
+ end
@@ -1,50 +1,50 @@
1
- # Settings in the config.yml are overriding Squib's defaults. Anything in the main script will override this.
2
-
3
- # Looking for DPI? It needs to be a parameter to Squib::Deck.new. See https://squib.readthedocs.io/en/latest/dsl/deck.html
4
-
5
- #antialias: best #recommended. Only about 10% slower than fast
6
- #antialias: default # set the anti-aliasing algorithm. default defers to the underlying graphics device. See http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-antialias-t
7
-
8
- # Text hints are used to show the boundaries of text boxes.
9
- # Can be enabled/disabled at the command-level, or set globally with `set`
10
- #text_hint: '#F00'
11
-
12
- # Show progress bars on the command line for potentially long-running operations
13
- progress_bars: true
14
-
15
- #Enable some custom colors that can be used in any color
16
- #custom_colors:
17
- # foo: '#abc'
18
-
19
- #For reading image file command (e.g. png and svg), read from this directory instead
20
- img_dir: img
21
- #img_dir: img-bw
22
-
23
- # Use a SVG cairo back end, instead of an in-memory buffer
24
- # backend: :memory # default
25
- # backend: :svg # can create scalable pdfs, but rendering done at the printer level is not as good as Cairo.
26
-
27
- # Configure what text markup uses replace characters
28
- # Below are the defaults
29
- # lsquote: "\u2018" #note that Yaml wants double quotes here to use escape chars
30
- # rsquote: "\u2019"
31
- # ldquote: "\u201C"
32
- # rdquote: "\u201D"
33
- # em_dash: "\u2014"
34
- # en_dash: "\u2013"
35
- # ellipsis: "\u2026"
36
-
37
- # We can also disallow smart quotes and only allow explicit replacements with ``LaTeX-style'' quotes.
38
- # smart_quotes: false
39
-
40
- # By default, Squib warns when a text box is ellipsized. This can get verbose
41
- # and can be turned off here
42
- warn_ellipsize: true # default
43
- # warn_ellipsize: false # turn off entirely
44
-
45
- # By default, Squib will warn if a PNG is being up-scaled.
46
- warn_png_scale: true # default
47
- # warn_png_scale: false # turn off entirely
48
-
49
- # How many pixels are in a "cell"?
1
+ # Settings in the config.yml are overriding Squib's defaults. Anything in the main script will override this.
2
+
3
+ # Looking for DPI? It needs to be a parameter to Squib::Deck.new. See https://squib.readthedocs.io/en/latest/dsl/deck.html
4
+
5
+ #antialias: best #recommended. Only about 10% slower than fast
6
+ #antialias: default # set the anti-aliasing algorithm. default defers to the underlying graphics device. See http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-antialias-t
7
+
8
+ # Text hints are used to show the boundaries of text boxes.
9
+ # Can be enabled/disabled at the command-level, or set globally with `set`
10
+ #text_hint: '#F00'
11
+
12
+ # Show progress bars on the command line for potentially long-running operations
13
+ progress_bars: true
14
+
15
+ #Enable some custom colors that can be used in any color
16
+ #custom_colors:
17
+ # foo: '#abc'
18
+
19
+ #For reading image file command (e.g. png and svg), read from this directory instead
20
+ img_dir: img
21
+ #img_dir: img-bw
22
+
23
+ # Use a SVG cairo back end, instead of an in-memory buffer
24
+ # backend: :memory # default
25
+ # backend: :svg # can create scalable pdfs, but rendering done at the printer level is not as good as Cairo.
26
+
27
+ # Configure what text markup uses replace characters
28
+ # Below are the defaults
29
+ # lsquote: "\u2018" #note that Yaml wants double quotes here to use escape chars
30
+ # rsquote: "\u2019"
31
+ # ldquote: "\u201C"
32
+ # rdquote: "\u201D"
33
+ # em_dash: "\u2014"
34
+ # en_dash: "\u2013"
35
+ # ellipsis: "\u2026"
36
+
37
+ # We can also disallow smart quotes and only allow explicit replacements with ``LaTeX-style'' quotes.
38
+ # smart_quotes: false
39
+
40
+ # By default, Squib warns when a text box is ellipsized. This can get verbose
41
+ # and can be turned off here
42
+ warn_ellipsize: true # default
43
+ # warn_ellipsize: false # turn off entirely
44
+
45
+ # By default, Squib will warn if a PNG is being up-scaled.
46
+ warn_png_scale: true # default
47
+ # warn_png_scale: false # turn off entirely
48
+
49
+ # How many pixels are in a "cell"?
50
50
  # cell_px: 37.5 # default
@@ -1,4 +1,4 @@
1
- Print and Play Notes
2
- ====================
3
-
1
+ Print and Play Notes
2
+ ====================
3
+
4
4
  Fill this out to give tips on how to play this with print and play.
@@ -1,21 +1,21 @@
1
- # Intro
2
-
3
- What is this game about? How many players?
4
-
5
- # Objective
6
-
7
- What is the object of the game?
8
-
9
- # Components
10
-
11
- What are the components? List them out.
12
-
13
- # Gameplay
14
-
15
- What does each turn look like? Describe a turn.
16
-
17
- # Scoring
18
-
19
- How is victory assigned?
20
-
21
-
1
+ # Intro
2
+
3
+ What is this game about? How many players?
4
+
5
+ # Objective
6
+
7
+ What is the object of the game?
8
+
9
+ # Components
10
+
11
+ What are the components? List them out.
12
+
13
+ # Gameplay
14
+
15
+ What does each turn look like? Describe a turn.
16
+
17
+ # Scoring
18
+
19
+ How is victory assigned?
20
+
21
+
@@ -1,60 +1,60 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
- id="svg8"
11
- version="1.1"
12
- viewBox="0 0 210 297"
13
- height="297mm"
14
- width="210mm"
15
- sodipodi:docname="example.svg"
16
- inkscape:version="0.92.0 r15299">
17
- <sodipodi:namedview
18
- pagecolor="#ffffff"
19
- bordercolor="#666666"
20
- borderopacity="1"
21
- objecttolerance="10"
22
- gridtolerance="10"
23
- guidetolerance="10"
24
- inkscape:pageopacity="0"
25
- inkscape:pageshadow="2"
26
- inkscape:window-width="1680"
27
- inkscape:window-height="987"
28
- id="namedview7"
29
- showgrid="false"
30
- inkscape:zoom="0.5946522"
31
- inkscape:cx="407.78854"
32
- inkscape:cy="201.53619"
33
- inkscape:window-x="-8"
34
- inkscape:window-y="162"
35
- inkscape:window-maximized="1"
36
- inkscape:current-layer="svg8" />
37
- <defs
38
- id="defs2" />
39
- <metadata
40
- id="metadata5">
41
- <rdf:RDF>
42
- <cc:Work
43
- rdf:about="">
44
- <dc:format>image/svg+xml</dc:format>
45
- <dc:type
46
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
47
- <dc:title />
48
- </cc:Work>
49
- </rdf:RDF>
50
- </metadata>
51
- <g
52
- id="layer1"
53
- transform="translate(3.5595036,70.300197)">
54
- <path
55
- id="path4485"
56
- d="m 176.52631,170.79195 -68.8031,39.72348 -68.80309,-39.72348 1e-6,-79.446968 68.803089,-39.723484 68.8031,39.723484 z"
57
- style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ed00ff;stroke-width:0.70555556;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99954044"
58
- inkscape:connector-curvature="0" />
59
- </g>
60
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ id="svg8"
11
+ version="1.1"
12
+ viewBox="0 0 210 297"
13
+ height="297mm"
14
+ width="210mm"
15
+ sodipodi:docname="example.svg"
16
+ inkscape:version="0.92.0 r15299">
17
+ <sodipodi:namedview
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1"
21
+ objecttolerance="10"
22
+ gridtolerance="10"
23
+ guidetolerance="10"
24
+ inkscape:pageopacity="0"
25
+ inkscape:pageshadow="2"
26
+ inkscape:window-width="1680"
27
+ inkscape:window-height="987"
28
+ id="namedview7"
29
+ showgrid="false"
30
+ inkscape:zoom="0.5946522"
31
+ inkscape:cx="407.78854"
32
+ inkscape:cy="201.53619"
33
+ inkscape:window-x="-8"
34
+ inkscape:window-y="162"
35
+ inkscape:window-maximized="1"
36
+ inkscape:current-layer="svg8" />
37
+ <defs
38
+ id="defs2" />
39
+ <metadata
40
+ id="metadata5">
41
+ <rdf:RDF>
42
+ <cc:Work
43
+ rdf:about="">
44
+ <dc:format>image/svg+xml</dc:format>
45
+ <dc:type
46
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
47
+ <dc:title />
48
+ </cc:Work>
49
+ </rdf:RDF>
50
+ </metadata>
51
+ <g
52
+ id="layer1"
53
+ transform="translate(3.5595036,70.300197)">
54
+ <path
55
+ id="path4485"
56
+ d="m 176.52631,170.79195 -68.8031,39.72348 -68.80309,-39.72348 1e-6,-79.446968 68.803089,-39.723484 68.8031,39.723484 z"
57
+ style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ed00ff;stroke-width:0.70555556;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99954044"
58
+ inkscape:connector-curvature="0" />
59
+ </g>
60
+ </svg>
@@ -1,27 +1,27 @@
1
- name:
2
- x: 90
3
- y: 90
4
- width: 500
5
- height: 50
6
- font: Arial 18
7
- valign: middle
8
- align: left
9
- ellipsize: false
10
-
11
- ATK:
12
- x: 90
13
- y: 190
14
- width: 200
15
- height: 50
16
- font: Arial 12
17
- valign: middle
18
- align: left
19
- ellipsize: false
20
- DEF:
21
- extends: ATK
22
- y: += 75
23
-
24
- version:
25
- font: Arial 6
26
- x: 725
27
- y: 45
1
+ name:
2
+ x: 90
3
+ y: 90
4
+ width: 500
5
+ height: 50
6
+ font: Arial 18
7
+ valign: middle
8
+ align: left
9
+ ellipsize: false
10
+
11
+ ATK:
12
+ x: 90
13
+ y: 190
14
+ width: 200
15
+ height: 50
16
+ font: Arial 12
17
+ valign: middle
18
+ align: left
19
+ ellipsize: false
20
+ DEF:
21
+ extends: ATK
22
+ y: += 75
23
+
24
+ version:
25
+ font: Arial 6
26
+ x: 725
27
+ y: 45
@@ -1,34 +1,34 @@
1
- require 'squib'
2
- require_relative 'version'
3
-
4
- # Note: run this code by running "rake" at the command line
5
- # To see full list of options, run "rake -T"
6
-
7
- data = Squib.xlsx file: 'data/game.xlsx', sheet: 0
8
-
9
- Squib::Deck.new(cards: data.nrows) do
10
- background color: :white
11
- use_layout file: 'layouts/deck.yml'
12
-
13
- text str: data.name, layout: :name
14
-
15
- text str: data.atk.map { |s| "#{s} ATK" }, layout: :ATK
16
- text str: data.def.map { |s| "#{s} DEF" }, layout: :DEF
17
-
18
- svg file: 'example.svg'
19
-
20
- text str: MySquibGame::VERSION, layout: :version
21
-
22
- build(:proofs) do
23
- safe_zone
24
- cut_zone
25
- end
26
-
27
- save format: :png
28
-
29
- build(:pnp) do
30
- save_sheet prefix: 'pnp_sheet_',
31
- trim: '0.125in',
32
- rows: 3, columns: 3
33
- end
34
- end
1
+ require 'squib'
2
+ require_relative 'version'
3
+
4
+ # Note: run this code by running "rake" at the command line
5
+ # To see full list of options, run "rake -T"
6
+
7
+ data = Squib.xlsx file: 'data/game.xlsx', sheet: 0
8
+
9
+ Squib::Deck.new(cards: data.nrows) do
10
+ background color: :white
11
+ use_layout file: 'layouts/deck.yml'
12
+
13
+ text str: data.name, layout: :name
14
+
15
+ text str: data.atk.map { |s| "#{s} ATK" }, layout: :ATK
16
+ text str: data.def.map { |s| "#{s} DEF" }, layout: :DEF
17
+
18
+ svg file: 'example.svg'
19
+
20
+ text str: MySquibGame::VERSION, layout: :version
21
+
22
+ build(:proofs) do
23
+ safe_zone
24
+ cut_zone
25
+ end
26
+
27
+ save format: :png
28
+
29
+ build(:pnp) do
30
+ save_sheet prefix: 'pnp_sheet_',
31
+ trim: '0.125in',
32
+ rows: 3, columns: 3
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
- module MySquibGame
2
- VERSION = '1.0'
3
- end
1
+ module MySquibGame
2
+ VERSION = '1.0'
3
+ end