Commit Graph

230 Commits (248eb2fb9164b479544293bd6cb10ff9e845f899)

Author SHA1 Message Date
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 ff3d057d49 Add a force_id: true example to load_images 2015-07-21 20:17:08 -04:00
Andy Meneely 2dd3fc3365 Documented a range idiom
In reaction to #90

[skip ci]
2015-07-03 16:01:44 -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 78ee185fde Update sample to use cleaner syntax 2015-06-11 17:19:32 -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 6c60f21bb0 Refactored drawing to get fill_n_stroke
Contributes to #75
2015-06-04 16:40:55 -04:00
Andy Meneely 3bbc787025 Add polygon method to dsl
Testing and documentation too.

Closes #67
2015-05-22 06:12:48 -04:00
Andy Meneely 4b63716dfc Star feature works, testing is still pending 2015-05-21 09:29:01 -04:00
Andy Meneely 14e04a89c7 Started the star feature
Contributes to #72

[skip ci]
2015-05-21 09:29:00 -04:00
Andy Meneely a86974d5b8 Regression and sanity testing 2015-05-19 15:02:54 -04:00
Andy Meneely 31b583d134 Implementation of hand 2015-05-19 14:40:21 -04:00
Andy Meneely 824e26d2c2 Hacked together a basic example to work from 2015-05-13 09:42:14 -04:00
Andy Meneely f0f9b7680d Starting a basic hand command 2015-05-11 23:30:30 -04:00
Andy Meneely dab544a53b Add ellipse method
Also experimenting with using stroke_preserve, which in turn may make the other methods less repetitive.

Closes #66
2015-04-30 11:48:21 -04:00
Andy Meneely ac7769237c Fix the csv_import.rb sample to function properly 2015-04-30 10:05:34 -04:00
Andy Meneely 71defb9e33 Fix color handling with text outline stroking
Needed to set squibcolor prior to translating the coordinate system so that gradients are relative to the card (as is documented). This also means stroking is done AFTER drawing the text, which looks better anyway.
2015-04-30 09:54:41 -04:00
Andy Meneely e974880e03 Add 'data' field to svg method for loading XML directly
Implements #65
2015-04-29 16:49:38 -04:00
Andy Meneely 7c69cad506 Text: outline a string with a color or gradient
Fill color is still the same with 'color' (i.e. can be overridden by markup still), but now there's a stroke_width and a stroke_color option that, when stroke_width > 0, will draw an outline below the text. Since this isn't a Pango feature, we can't do markup for outlines. (Maybe make that a feature request to Pango if you want it.)

Implements #51
2015-04-28 22:27:26 -04:00
Andy Meneely 923f346575 Redesigning how config files are read, stored, and delegated
With the new design, we take the load off of deck.rb and simply delegate methods over to the new conf.rb. This means that things like `antialias` is now available as a method to the normal Squib scripts for easy checking (without being mutable). Squib::Conf also handles parsing and defaults, and any potential input validation we need to do in the future.

Typographer is also set up now as a deck-wide configuration. This may change in the future if we want typography customization per-command, although that seems like a strange use case.

Lots of tests for this one, and lots of cross-cutting concerns in this commit.

This commit also includes some tweaks to rspec tests, including tagging of slow tests for a `rake spec_fastonly`

Conflicts:
	spec/samples/samples_regression_spec.rb
	spec/spec_helper.rb
	squib.sublime-project
2015-04-28 20:31:53 -04:00
Andy Meneely 838b1fd085 Removing scratch code 2015-04-13 23:19:59 -04:00
Andy Meneely 4a0c5e78b6 Fix PDF scaling issue
Properly compute the size of the PDF based on DPI and PDF-specific resolution (i.e. 72dpi).

Closes #62
2015-04-13 22:59:34 -04:00
Andy Meneely 0616512bd6 Set font antialiasing from global antialiasing
This is a workaround until we get a proper solution in #59
2015-04-13 21:26:41 -04:00
Andy Meneely 2d9ba40486 Making this work for now
Related to #56
2015-04-13 21:13:26 -04:00
Andy Meneely 063d5156d6 Allow configuration of typographical replacements, e.g. smart quotes
If you're living in a non-UTF-8 character set, then you can configure what quotes are smartly changed.
If my regexes are messing things up, you can also turn this off with smart_quotes: false
Also updated docs.

This closes #50
2015-04-07 21:21:00 -04:00
Andy Meneely beb46a9e1c Place embedded icons based on byte offset
Fixes #57
2015-04-07 19:43:16 -04:00
Andy Meneely 211e7c13b3 Fix typography replacements with embeds
Enable embedded icons tests again
2015-04-07 12:20:40 -04:00
Andy Meneely a5d1cb60f2 Complete overhaul of smart quotes to "typographer"
See README for details

Contributes to #50
2015-04-07 00:16:06 -04:00
Andy Meneely 674397c005 Smart quotes!
Closes #50
2015-04-04 16:02:20 -04:00
Andy Meneely 874bdba8bc Fix a string replacement issue.
Contributes to #30
2015-04-04 09:33:04 -04:00
Andy Meneely c9f9235be7 Attempting travis fix by saving and restoring the matrix 2015-04-02 10:00:26 -04:00
Andy Meneely 03e41c7e81 Adding regression tests for various cases to test PR #53
Close #53.
2015-03-31 17:05:03 -04:00
Andy Meneely 574b76873e Updating regression tests, renamed bezier curve params 2015-03-26 19:50:12 -04:00
Andy Meneely 42ae2144e0 Fix index location issue, working on vertical placement
Contributes to #30

Also added little adjusters for the icons in case your icon is a little off.
[skip ci]
2015-03-24 14:59:21 -04:00
Andy Meneely 2cc9cc8e93 Initial implementation of curves
Contributes to #37
2015-03-19 18:15:24 -04:00
Andy Meneely ac2b46921d Add support for embedding pngs
Refactored into passing a Proc. I love those things.
2015-03-19 17:00:27 -04:00
Andy Meneely d386ae0426 Finish my thought 2015-03-19 00:24:51 -04:00
Andy Meneely 50ddf0f576 Making the demo be left-aligned for now 2015-03-19 00:24:50 -04:00
Andy Meneely 77e5fcce06 Cleaning up
Although it appears we still have issues with text_options being different on different cards. Very strange.
2015-03-19 00:24:49 -04:00
Andy Meneely c6cb0ca288 Saving a wonky bug example for posterity 2015-03-19 00:24:48 -04:00
Andy Meneely 666dae393d Base functionality of icon embedding working
Contributes to #30
2015-03-19 00:24:47 -04:00
Andy Meneely 82c141fbf4 Better docs on gradient coordinate behaviors 2015-02-28 20:53:59 -05:00
Andy Meneely 612c042d52 SVG backend: PDF implemented, tests passing
Wrapping up the svg backend work

Still some bugs to stamp out, but this is getting close to release ready.
2015-02-24 22:33:32 -05:00
Andy Meneely 05b943f914 Deleting hacky testbed 2015-02-24 21:16:46 -05:00
Andy Meneely 8876b27473 Merging in svg back end work. All but save_doc is done. 2015-02-20 22:56:07 -05:00
Andy Meneely 086fd5fad9 Unit conversion on save_pdf, and arbitrary paper sizes
Closes #21 and #20
2015-02-02 00:20:25 -05:00
Andy Meneely 7a53f68393 Implementing mask feature for images
Fixes #32.
2015-02-01 23:04:39 -05:00
Andy Meneely bfbf7a7eba Added support for linear and radial gradients
Closes #29
2015-01-26 22:22:09 -05:00
Andy Meneely bde7fe018e Added a a sample table for showing the built-in color constants 2015-01-26 12:03:07 -05:00
Andy Meneely f3e3082f0e Implement showcase feature
#Closes 26
2015-01-05 21:09:35 -05:00
Andy Meneely 875f25b3f3 Demonstrate show that trailing whitespace is okay
...even though it's not.
2014-12-31 09:37:20 -05:00
Andy Meneely fd217294c5 Implemented sheet command 2014-12-31 00:47:02 -05:00
Andy Meneely c287e6137c Unit conversion feature added, tested, documented 2014-12-30 13:35:28 -05:00
Andy Meneely 979cd701e6 Added a unicode sample
Removed the unicode from the text_options.rb sample so the regression test can be back online.
2014-12-30 11:53:55 -05:00
Andy Meneely f8f65f3de7 Support png scaling, but warns on use. 2014-12-09 22:59:49 -05:00
Andy Meneely cd0681a00a Removing shebang to be less confusing 2014-12-08 00:05:45 -05:00
Andy Meneely 04b55d8b32 Finished CSV feature 2014-12-08 00:05:18 -05:00
Andy Meneely f60e3721c8 Half-finished csv command 2014-11-26 00:13:45 -05:00
Andy Meneely 6579c86719 Cleanup 2014-11-26 00:08:17 -05:00
Andy Meneely d5181302ad Implementing ink extent return values 2014-11-25 00:30:28 -05:00
Andy Meneely 4ab9b3f5d5 Clarify cairo_access 2014-11-24 09:52:12 -05:00
Andy Meneely 7af4e9a209 Samples explicitly set the encoding 2014-11-20 03:50:12 -05:00
Andy Meneely fc63087b8f Just need one card for this example 2014-11-18 09:47:49 -05:00
Andy Meneely 569464a575 Support for built-in layouts, with examples 2014-11-18 08:38:48 -05:00
Andy Meneely 75ab0b565f Added support for merging multiple layout files 2014-11-17 21:08:57 -05:00
Andy Meneely c6414f138b Documenting the new feature, renaming file 2014-11-09 21:47:24 -05:00
Andy Meneely 613a5fc298 Cleanup 2014-11-03 23:46:55 -05:00
Andy Meneely 31859c2d58 A more apropos Hello World 2014-11-03 23:44:57 -05:00
Andy Meneely 2864c5a617 Cleanup 2014-11-03 23:26:33 -05:00
Andy Meneely d4f0105785 Image rotation support for png and svg commands
With unit tests and other refactorings
2014-11-03 22:47:06 -05:00
Andy Meneely 20600a97e6 Rotation works better now!! 2014-11-03 21:51:28 -05:00
Andy Meneely 2b93de6f98 New sample to demonstrate direct cairo access 2014-11-03 09:08:30 -05:00
Andy Meneely bf91190b3b Rubocop: TrailingBlankLines 2014-10-29 12:10:37 -04:00
Andy Meneely e115135d51 Rubocop: Using single-quotes properly 2014-10-29 12:04:33 -04:00
Andy Meneely 37fd4e7733 Rubocop: Trailing Whitespace 2014-10-29 12:04:32 -04:00
Andy Meneely 393eeae450 Renamed text :rotation => :angle 2014-10-17 08:17:08 -04:00
David Turner 91e7adafd5 Add text rotation 2014-10-17 08:17:07 -04:00
Andy Meneely f2a2ab0573 Bringing back the extends feature
Adding in my own merge key implementation that allows you to bring in
other keys and modfiy the data. Makes moving boxes around easier.

A quasi-revert of 00e8b59144
...but with something useful!
2014-09-21 21:56:18 -04:00
Andy Meneely 985f898729 Documentation and example of autoscaling 2014-09-20 00:27:26 -04:00
Andy Meneely fd2d10771a Added a font_size override for font description 2014-09-19 23:31:44 -04:00
Andy Meneely 56905b08bc Implementing an img_dir configuration setting 2014-08-21 15:44:33 -04:00
Andy Meneely 00e8b59144 Ugh, Yaml has a <<: merge key. facepalm: true 2014-08-14 17:02:28 -04:00
Andy Meneely a643cf8025 Hinting is set to off, not nil. Some more tests 2014-08-13 17:08:16 -04:00
Andy Meneely 0fc5ed2857 Demonstrating alpha transparency too 2014-08-12 12:43:13 -04:00
Andy Meneely b3eb3b6876 Added blending operators to png and svg
Also refactored to start using save/restore more often
2014-08-12 12:23:54 -04:00
Andy Meneely 41038178ad Implementing rotate for save_png 2014-08-11 22:04:16 -04:00
Andy Meneely 782073b784 Added more documentation 2014-08-11 16:22:55 -04:00
Andy Meneely 9f32ee22af Added a sample to show how singleton expansions works 2014-08-11 16:13:31 -04:00
Andy Meneely 3e08a0d604 Singleton expansion has... expanded!
Closes #13, hopefully
2014-08-11 00:22:04 -04:00
Andy Meneely 6c31320411 Custom colors, closing #1 2014-08-05 21:56:07 -04:00
Andy Meneely 4f575f9761 More unit testsgit pull 2014-08-04 21:56:56 -04:00
Andy Meneely bb3a861efa Clarifying the SVG id offset 2014-08-01 21:33:34 -04:00
Andy Meneely 202b4c4235 Suppressing progress bar output and getting hints to work 2014-07-31 16:57:49 -04:00
Andy Meneely 8bfdf4b777 Adding progress bars to the custom configuration 2014-07-31 15:20:39 -04:00
Andy Meneely 65f75a3360 Adding a progress bar to save 2014-07-30 16:52:31 -04:00
Andy Meneely e5a889a274 Tons more documentation. 2014-07-29 17:16:19 -04:00
Andy Meneely 373d841823 Added support for "extends" in layouts 2014-07-29 16:18:01 -04:00
Andy Meneely 75c01f7d9e Added line primitive 2014-07-29 16:17:29 -04:00
Andy Meneely 10b0e1811e Adding circle and triangle, and example
Closes #7
2014-07-29 16:10:49 -04:00
Andy Meneely fad0f93e4a Custom layouts now support ALL options! 2014-07-29 14:33:34 -04:00
Andy Meneely b0e65d3783 Implementing initial layout functionality 2014-07-29 14:17:38 -04:00
Andy Meneely f6480445df Stabilizing the code after the options switch. Getting there... 2014-07-28 17:08:57 -04:00
Andy Meneely 10890be8a1 Putting together a global `set` method for defaults 2014-07-28 16:01:46 -04:00
Andy Meneely 6c60476e42 Starting work on the new options 2014-07-25 13:10:04 -04:00
Andy Meneely 11f9d155ab Fixing special character example with pango 2014-07-24 16:49:16 -04:00
Andy Meneely 70f8eb3643 Adding more to the sample 2014-07-23 22:39:56 -04:00
Andy Meneely b4702e1d4a Example of svg id being supplied, better input handling of svg ids 2014-07-23 13:17:46 -04:00
Andy Meneely 37794bdb56 Removing the puts from the samples 2014-07-22 22:43:50 -04:00
Andy Meneely d7e3435715 Renaming files to be more conventional 2014-07-22 15:34:12 -04:00
Andy Meneely a7d914e156 Don't need this watch.html - Explorer is fine 2014-07-22 15:33:16 -04:00
Andy Meneely c2ec7947df SVG scaling is now supported! 2014-07-22 14:54:09 -04:00
Andy Meneely d34e4729ce Tons of documentation work 2014-07-21 17:02:34 -04:00
Andy Meneely 209b4240eb Added a colors example 2014-07-21 17:02:25 -04:00
Andy Meneely 0bcac1a76d Adding a basic custom config file
* Also adding in a logger
* Added a sample for custom config
* Saving a png now creates _output
2014-07-20 01:33:49 -04:00
Andy Meneely a6eed0ad3d Added valign, renaming text 2014-07-19 15:30:29 -04:00
Andy Meneely 11d2730b44 PDF support more stable now
* Lays out cards with possiblity of margin, gap, and trim
* Some new directory and file validation
* Added a logger
2014-07-19 01:44:21 -04:00
Andy Meneely b0bf7f65bd Cleaning up some samples 2014-07-18 15:52:56 -04:00
Andy Meneely 410a6b91d0 Sample for alpha transparency with TGC proofs 2014-07-18 15:46:55 -04:00
Andy Meneely c98c662eb8 Moving sample watch.html out of the output folder 2014-07-18 15:37:38 -04:00
Andy Meneely d4daeb5625 Selecting the sheet in xlsx actually works now. 2014-07-17 16:44:32 -04:00
Andy Meneely 06cf063126 Better default handling, more samples 2014-07-17 15:54:53 -04:00
Andy Meneely 9da4d0a499 Tons of text features and options added 2014-07-17 15:24:55 -04:00
Andy Meneely c477432239 Color handling handed off to rcairo 2014-07-17 13:11:26 -04:00
Andy Meneely f47ab6f4dd Range sample with some cool idioms 2014-07-17 13:10:17 -04:00
Andy Meneely 3f4e001e63 Adding SVG support 2014-07-17 10:55:20 -04:00
Andy Meneely 6c1d32a8cd Adding in a png method 2014-07-16 23:14:56 -04:00
Andy Meneely b24b967e25 Initial putzing around with a squibwatch 2014-07-16 16:45:35 -04:00
Andy Meneely 0e351754f3 Adding Excel xlsx support and prefixed images
* New sample!
* New API function!
* Ignoring _img in samples
2014-07-16 15:32:48 -04:00
Andy Meneely f778b2f920 Moving samples out of bin 2014-07-16 12:02:30 -04:00