Commit Graph

505 Commits (733b988d78db5b66c62e9b04a526c4a9289d2d24)

Author SHA1 Message Date
Cory Li 6149023dbb respect `crop_marks` config option when saving PDF 2017-09-01 09:16:25 -04:00
Noah Callaway 7d23ec70f4 Update comment in header
Just a tiny irrelevant change to update the header comment to note the correct genre for this file.
2017-08-14 10:24:47 -04:00
Andy Meneely 17ecf87385 docs: documenting and sampling sprues 2017-08-02 17:11:52 -04:00
Andy Meneely c969f8ecf4 spec: add a test for making a new sprue 2017-07-21 15:10:26 -04:00
Andy Meneely 23b6d318d2 fix a missing require 2017-07-21 15:10:23 -04:00
Andy Meneely 391193812d sprues: upgrade to classy_hash 0.2.0 2017-07-17 14:58:45 -04:00
Andy Meneely 0d076b1e85 sprues: rename "template" to "sprue"
Also:
  * Move stuff around to a builtin/ folder
  * Separate out classes to follow my one-class-per-file convention
  * Samples are renamed to the underscore convention

I just like the word "sprue", and it's more descriptive than our original choice of "template". If I had to start Squib all over again, I would probably name it "Sprue" :P
2017-07-17 14:48:43 -04:00
Andy Meneely 36dc7ce4eb cli: squib new gives informative message
Also, move the files so we we can eventually add more project templates
2017-07-17 12:27:34 -04:00
Seh Hui, Leong 25bf0d7a67 Squash @felixleong's pdf-template feature.
I will be making revisions based on this, but this is all of his hard work.

Thank you!!!

Conflicts:
	squib.gemspec
2017-07-17 11:59:00 -04:00
Andy Meneely c6aa3983c4 Starting merge of @felixleong's code
I'm gonna name these "sprues" and do it a tad different than him, but it'll be mostly his code
2017-07-17 11:52:17 -04:00
Andy Meneely 10e63c845f Rollup of v0.13.x fixes
See v0.13-fixes branch for individual fixes

Conflicts:
	CHANGELOG.md
	lib/squib/version.rb
	squib.gemspec
2017-07-17 11:31:53 -04:00
Andy Meneely d94a3e676b Fix for latest dep changes 2017-05-30 16:19:42 -04:00
Andy Meneely c6e1c67e5f Fix deprecation warnings 2017-05-30 16:02:23 -04:00
Andy Meneely f140ff32fa Cleanup and tests of yaml method 2017-04-15 21:25:34 -04:00
Adam Blinkinsop d53fbc1715 Add yaml DSL method to the Deck object. 2017-03-20 08:53:49 -04:00
Adam Blinkinsop 563f800ba7 Add a yaml DSL method.
I find the yaml format easier to read than csv (when working entirely in text, at least).  This loader works on this array-formatted yaml, but not (for whatever reason, possibly library brokenness) on multi-doc format:

```
- title: Foo
  rank: 2

- title: Bar
  rank: 3
```
2017-03-20 08:53:49 -04:00
Clarence "Sparr" Risher 695bd8fb77 add save_sheet rtl option for duplex printing 2017-03-11 16:28:20 -05:00
Clarence "Sparr" Risher 1a58adb288 switch arc_ccw true/false to arc_direction :counterclockwise/:clockwise 2017-03-10 22:48:21 -05:00
Clarence "Sparr" Risher 573a1e9e30 implement circle arc feature, no tests 2017-03-10 22:48:21 -05:00
Clarence "Sparr" Risher 599e363e38 replace Dir.mkdir with FileUtils.mkdir_p for recursive creation of nonexistent directories 2017-03-10 20:22:14 -05:00
Andy Meneely 2ab78dd8d4 Onward and upward 2017-01-27 23:16:10 -05:00
Andy Meneely 566d0dfaca I dub thee v0.13.2 2017-01-27 23:11:17 -05:00
Andy Meneely c690e08a51 I dub thee v0.13.1 2017-01-06 19:50:11 -05:00
Andy Meneely f2521be199 Onward and upward. 2017-01-04 16:01:35 -05:00
Andy Meneely a98e0b5acc I dub thee v0.13 2017-01-04 15:57:37 -05:00
Andy Meneely 3ce5d8b4eb data: fix wrap_n_pad bug
This doesn't make modifications to the original string. If only Ruby used their own convention and did str#concat! instead of str#concat

Fixes #191

[skip ci]
2016-12-22 16:31:23 -05:00
Andy Meneely db0bf38ec0 save_pdf: full-length crop marks
Implements #184

[skip ci]
2016-12-19 17:02:56 -05:00
Andy Meneely cd53644ee4 Onward and upward. 2016-12-02 23:39:34 -05:00
Andy Meneely 73b4ed9697 I dub thee v0.12 2016-12-02 23:31:02 -05:00
Andy Meneely f4d94240e0 import: data frames are here!
Implemented a whole new class to represent the data that comes in from CSV and XLSX. See docs for more info.

Closes #153
2016-12-02 00:17:57 -05:00
Andy Meneely e53e47dde7 build groups: add convenience methods 2016-11-24 14:00:23 -05:00
Andy Meneely 56b5a711e4 dsl: add Squib.configure
I ended up adding this one on a whim, but it feels like a long time coming. We need cleaner support for Rakefiles, and this is a good step toward that I think.
2016-11-17 21:11:12 -05:00
Andy Meneely c9440ec57c showcase: use correct width&height vars
Fixes #179
2016-11-15 20:28:22 -05:00
Andy Meneely e18084d963 deck: flush surface upon exit
Fixes bug #180
2016-11-15 20:02:12 -05:00
Andy Meneely 30395aee56 save_pdf: add crop marks
Should satisfy #123

Needs some testing on printers but the functionality is there.
2016-11-01 12:12:03 -04:00
Andy Meneely aee348a582 Onward and upward 2016-09-15 16:12:12 -04:00
Andy Meneely df9fe7a9cc I dub thee v0.11.0 2016-09-15 16:02:11 -04:00
Andy Meneely ee2ed28550 text: rewrite embedding to use set_shape_renderer
No more arcane unicode magic!

Closes #177

Related to #170, #171, #158, #103, and #153 too.
2016-09-15 15:19:56 -04:00
Andy Meneely dc91413cda Release to beta testing 2016-09-09 00:14:07 -04:00
Andy Meneely d2eae64da2 shapes: rect and ellipse get the angle option
Closes #162
2016-09-09 00:10:43 -04:00
Andy Meneely 4ec1a33cfd layouts: support unit conversion in extends
fixes bug #173

Also: LayoutParser is now a proper class, as God intended.
2016-09-08 21:32:30 -04:00
Andy Meneely 19b989f8e6 text: use a different invisible character for text embedding
Contributes to the work of @temetherian in #170
2016-09-08 10:51:39 -04:00
Seh Hui, Leong cb29ad7fa1 Remove redundant `ArgLoader.convert_unit` to `UnitConversion.parse`. 2016-07-25 07:15:16 +08:00
Andy Meneely 4ea30c63e2 units: support mm
Closes #161
2016-06-27 11:10:39 -04:00
Andy Meneely a8241418c6 docs: readthedocs.org --> .io 2016-05-24 22:17:19 -04:00
Andy Meneely 7b9b836d61 Onward and upward. 2016-05-06 13:11:20 -04:00
Andy Meneely 839fceeeb3 I dub thee v0.10.0 2016-05-06 13:05:07 -04:00
Andy Meneely 56d8cff626 version: bump to beta 2016-04-25 23:43:12 -04:00
Andy Meneely ee0d232478 text: rewrite how image space is carved
Embedded images avoid zero-sized fonts by using non-printable characters instead.

This is for #153 and #103
2016-04-25 23:36:10 -04:00
Andy Meneely 6caf2e1af4 Remove debug code 2016-04-25 23:02:44 -04:00
Andy Meneely 013a1532f2 Fixes #152 2016-04-25 23:01:18 -04:00
Andy Meneely 43d44aa944 samples: gists --> backend 2016-04-11 20:42:48 -04:00
Andy Meneely 795b4e4478 csv: yield to block on each cell
Closes #151

Related to #145
2016-04-11 20:07:55 -04:00
Andy Meneely 39346d53c2 fix method call 2016-04-08 23:50:21 -04:00
Andy Meneely 2329a069d1 save_pdf: flush to file
Fixes #150
2016-03-29 13:37:13 -04:00
Andy Meneely d7943da750 csv: allow all Ruby csv parsing options
Closes #149

Generalization on PR #146 by Qgel. Thanks for the contribution!
2016-03-24 02:23:47 -04:00
Andy Meneely 7acb27e477 Merge remote-tracking branch 'origin/master' into dev 2016-03-23 23:22:22 -04:00
Mirko Kugelmeier 5eee51f38b Added 'sep' parameter to csv DSL method to define the column seperator of the file 2016-03-23 15:13:28 +01:00
Andy Meneely d1993eb14f build groups: finish renaming 2016-03-21 19:53:01 -04:00
Andy Meneely e55c450d16 build_groups: rename to build instead of group 2016-03-20 22:52:04 -04:00
Andy Meneely dad2ab5ba9 👮 newline at end of file 2016-03-17 23:51:37 -04:00
Andy Meneely 0cbcc0c683 👮 string literals should be single-quoted 2016-03-17 23:49:04 -04:00
Andy Meneely 65a0fdfd47 👮 leading space in comments 2016-03-17 23:47:32 -04:00
Andy Meneely 0f5b7d0f8e 👮 space inside parens 2016-03-17 23:42:09 -04:00
Andy Meneely 310030eee4 👮 spaces around operators 2016-03-17 23:40:41 -04:00
Andy Meneely 5e09e0f1e1 👮 fix spacing inside hashes 2016-03-17 23:38:48 -04:00
Andy Meneely 137e3f91cd 👮 fix extra spaces 2016-03-17 23:27:07 -04:00
Andy Meneely 8a9552126c 👮 fix space after comma 2016-03-17 23:22:16 -04:00
Andy Meneely 8eb7bc9547 docs: rip out old YARD comments 👍 2016-03-17 13:49:33 -04:00
Andy Meneely 955d64a01f feature: add use_layout method to load layouts at runtime
Closes #141
2016-03-16 17:05:07 -04:00
Andy Meneely 9cdd3c4d2f text: fix valign when we only have an embed key
Fixes #134
2016-03-15 23:07:23 -04:00
Andy Meneely f408b7a88f csv: data option
Close #137
2016-03-15 17:45:39 -04:00
Andy Meneely 61a3d3446b feature: build groups
See docs and changelog for more details on how these work.
2016-03-13 00:38:13 -05:00
Andy Meneely ec767110a6 docs: port data import methods to readthedocs 2016-01-29 21:26:51 -05:00
Andy Meneely cbe013323d Switch to require_relative
Helps with debugging code without reloading the entire gem

Fixes #130
2016-01-28 21:11:14 -05:00
Andy Meneely 97fa07382d Onward and upward 2016-01-10 21:00:04 -05:00
Andy Meneely 96c4944ffe I dub thee v0.9 2016-01-10 20:50:10 -05:00
Andy Meneely cf736db067 Maintain coordinate system when using gradients
Sample: document this better
spec: test this and update past tests

Fixes #127
2016-01-10 20:30:30 -05:00
Andy Meneely 38266eb4c1 Samples: less harsh blue on graph paper lines 2015-12-21 10:46:05 -05:00
Andy Meneely 4c16930b1f Bump to beta test
Starting with this version, I'm gonna kick this out to my beta testers to look for regressions or issues.
2015-12-12 00:05:59 -05:00
Andy Meneely 8b0067546f save_png: add trim and trim_radius options
Close #122.
2015-12-11 23:09:04 -05:00
Andy Meneely 1c982ec824 squib new: Templates IDEAS, PLAYTESTING, RULES 2015-11-26 23:41:41 -05:00
Andy Meneely 1c095f2b19 Samples: add helper methods for graph paper look-and-feel 2015-11-23 23:10:35 -05:00
Andy Meneely 710d28f5a8 Add warning to suppress png scaling warning
Close #120
2015-11-02 21:07:14 -05:00
Andy Meneely a57c2a7dad Make grid option 0.25in spacing by default 2015-10-27 00:02:15 -04:00
Andy Meneely b00cc99dd0 Added a grid shape
Close #68
2015-10-26 23:59:51 -04:00
Andy Meneely d99e840ffd PNG/SVG: flipping is now supported.
Fixes #11
2015-10-26 23:31:16 -04:00
Andy Meneely 169f9e4ac4 SVGs: now with more cropping power!
Contributes to #11
2015-10-26 22:47:42 -04:00
Andy Meneely 541c8d49ca Crop PNGs, now with more rounded corners!
Contributes to #11
2015-10-26 22:35:56 -04:00
Andy Meneely 7126afbc9c Warn on conf when an option is not recognized 2015-10-26 16:14:13 -04:00
Andy Meneely 47b5f569a4 Rip out old constants from pre args classes 2015-10-26 15:32:04 -04:00
Andy Meneely a82664d223 Onward and upward. 2015-10-26 14:59:50 -04:00
Andy Meneely f39dda26d5 I dub thee v0.8 2015-10-26 14:51:49 -04:00
Andy Meneely 08381b86f0 Add quantity explosion to xlsx and csv
Closes #78
2015-10-20 18:23:25 -04:00
AlexGorski 69be9e8526 layout file for TheGameCrafter tuck boxes 2015-10-17 17:45:40 -04:00
Andy Meneely e8d7480a63 Range option shouldn't fail on []
Fixes #107
2015-10-13 15:01:14 -04:00
Andy Meneely c976772b9e Being even more Ruby 2.1-friendly 2015-10-13 14:02:22 -04:00
Andy Meneely 4be222a915 Being more Ruby 2.1-friendly 2015-10-13 13:59:37 -04:00
Andy Meneely c8e6f9803c xlsx,csv: trim whitespace, yield to optional block
Closes #108 and #79
2015-10-13 10:37:49 -04:00
Andy Meneely b136529ed7 Onward and upward 2015-09-11 11:08:53 -04:00
Andy Meneely 3a6ab0cf37 I dub thee v0.7 2015-09-11 10:45:24 -04:00
Andy Meneely 0fe5c55b9e Embedded icons respect img_dir 2015-09-07 22:43:07 -04:00
Andy Meneely c6767d10b6 Use summary from save_batch.rb 2015-08-18 22:40:28 -04:00
Andy Meneely 19e38d798f Require yaml just in case 2015-08-18 22:34:50 -04:00
Andy Meneely 5042ee8edc Ripping out the notorious input_helpers.rb 2015-08-15 14:59:08 -04:00
Andy Meneely 2dfaf64ef7 Convert data reading methods to args classes 2015-08-15 14:44:27 -04:00
Andy Meneely 82a2538180 Removing dependency on ill-fated input_helpers.rb 2015-08-15 00:32:44 -04:00
Andy Meneely 4d1661ac0b Convert hand method to args classes 2015-08-15 00:17:29 -04:00
Andy Meneely 697a51d8e5 Cleanup dead code 2015-08-15 00:01:11 -04:00
Andy Meneely 3f2b057466 Convert save_sheet and save_pdf to args classes 2015-08-14 23:56:03 -04:00
Andy Meneely bcc6d355d2 Convert showcase to args classes 2015-08-14 21:08:11 -04:00
Andy Meneely f8a18cdbce Finished porting of save_png over to args classes 2015-08-12 23:41:15 -04:00
Andy Meneely 4aee48dada Working on save args 2015-08-12 15:57:58 -04:00
Andy Meneely af53e396dc Refactoring: remove semicolons 2015-08-12 15:22:01 -04:00
Andy Meneely a7962e3728 Start porting save methods over to args 2015-08-09 23:25:38 -04:00
Andy Meneely 3e2418d82d Add in require 2015-08-09 22:57:24 -04:00
Andy Meneely 354a97f100 Add validation to text embed key 2015-08-09 22:15:10 -04:00
Andy Meneely fed2889aef text: Reset move_to for valign if doing a stroke outline
Contributes to #102

[skip ci]
2015-07-27 23:22:22 -04:00
Andy Meneely 19767c54c4 Implement stroke_strategy option for all drawing operations
Fixes #102
2015-07-27 22:55:49 -04:00
Andy Meneely e03a97ce7e Add :scale shortcut to width/height of png and svg
Allows scaling while keeping the aspect ratio

Closes #91
2015-07-27 13:25:12 -04:00
Andy Meneely 7c756e468d Remove dead code 2015-07-26 23:34:02 -04:00
Andy Meneely 9d475995e8 Pango scaling of "spacing" in text is done once
Spacing also defaults to nil, not zero, as before

Fixes #98
2015-07-26 22:26:42 -04:00
Andy Meneely 54185fe9eb Warn on non-existing layout
Fix #99 and refactor args_loader a bit
2015-07-26 21:50:43 -04:00
Andy Meneely 003a26ae68 Two new built-in layouts: fantasy.yml and economy.yml
Contributes to #97
2015-07-26 00:59:12 -04:00
Andy Meneely 70a5f48bda Add nil check for colors, just in case
Probably not possible, but provides a more descriptive error than before anyway.

Fixes #84.
2015-07-21 21:37:54 -04:00
Andy Meneely f21e9448e1 Warn when text is ellipsized
Closes #80
2015-07-21 21:31:50 -04:00
Andy Meneely 92d866548c Cleanup of img_dir and testing of input_file.rb 2015-07-21 21:04:23 -04:00
Andy Meneely 813b8f8600 Fix documentation on svg method 2015-07-21 20:47:09 -04:00
Andy Meneely 04ac3f730a Fix mock object tests 2015-07-21 20:44:08 -04:00
Andy Meneely e20c644a9a Implemented new args design for svg and png
As part of that implementation, text_embed now supports singleton expansion. Closes #54
2015-07-21 20:27:15 -04:00
Andy Meneely 25b13fd592 Better ability to handle per-dsl-method defaults 2015-07-12 00:52:34 -04:00
Andy Meneely f2d693f8ff Updated debugging for new args classes 2015-07-12 00:51:57 -04:00
Andy Meneely 3783640889 Strip trailing and leading whitespace on text args 2015-07-12 00:35:50 -04:00
Andy Meneely 08d0ac2b60 Starting paint args class - not integrated yet.
Draw args also now requires custom_colors from Deck. (Can't trust caller to override the default.)
2015-07-12 00:06:27 -04:00
Andy Meneely c66c6bc4f0 Removed img_dir from set method, added specs 2015-07-10 12:43:56 -04:00
Melody 4bc8ba7455 fixes #56 by accounting for case that would produce zero rows 2015-07-08 22:28:36 -04:00
Andy Meneely e43f68d323 Ported text command over to the new args classes
* Involved a big rewrite of arg_loader to accomodate nil and false better. Sadly this meant dumping ||= for if-statements. Blech, but works.
  * Updates to regression tests are pretty trivial.
  * Removed graphics_text_spec because, even though it looks useful, with rake sanity it really isn't.
  * Exposed font on deck as well

Cleaned up graphics/text.rb too!
2015-07-07 23:59:23 -04:00
Andy Meneely 1b22542655 Remove dead code 2015-07-03 16:06:00 -04:00
Andy Meneely 79814a43ea Start migrating text over to new args system
Almost there. It's working fine with the sample, but next it's time to write validators to get all this arg logic out of text.rb and make it just about drawing text.

Yes, unit tests aren't updated yet.
[skip ci]
2015-07-03 02:11:32 -04:00
Andy Meneely 6aecdbbb4a Adding custom colors to the draw arg 2015-07-03 00:47:46 -04:00
Andy Meneely c931a860a1 Args refactoring: combine polygon, tri, and bezier args into coords
As a rule, I think it's better to group args classes together have some extra overhead of extracting unused parameters. For example, we don't *need* to extract "n" for the circle, but the ease of having logically grouped classes is better than having tons of different classes tailored to each command.
2015-06-16 21:14:43 -04:00
Andy Meneely b5903293d7 Layouts use strings as keys, so that must be realistic 2015-06-11 17:20:02 -04:00
Andy Meneely 243b3836c4 Refactor to remove instance_eval
When you have a hammer...
2015-06-11 17:19:17 -04:00
Andy Meneely c5e00f1877 Employing the new args refactoring on all shapes 2015-06-11 16:16:08 -04:00
Andy Meneely 8a7841d64f Add dash option to drawing operations
Currently only impacts rect, but it will impact others with the new design shortly
2015-06-08 15:26:33 -04:00
Andy Meneely 12c5cd675b Added line cap and join settings for rect and curve
More forthcoming - these are proof-of-concept
2015-06-08 14:17:46 -04:00
Andy Meneely c1e410fe72 First foray into args class refactoring: rect
So far, I really like this approach. It allows us to push validation logic out of the Card class and into its own set of classes that can be more easily tested.

Fixes #75, but we've got a lot more work to do in getting this full scale
2015-06-08 13:36:23 -04:00
Andy Meneely 6c60f21bb0 Refactored drawing to get fill_n_stroke
Contributes to #75
2015-06-04 16:40:55 -04:00
Andy Meneely da0fe1b118 Onward and upward. 2015-05-26 21:04:15 -04:00
Andy Meneely 981a9eab0e I dub thee v0.6.0 2015-05-26 20:57:58 -04:00