ezy 0.0.5 → 0.0.6

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 (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +95 -11
  3. data/ezy.gemspec +3 -3
  4. data/sass/ezy/_sprites.scss +36 -39
  5. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e07ee1346c74a0173231c5a08cd91c994593a4e7
4
- data.tar.gz: 27abca9223b02b5655a341d1e49b8f808e849d4e
3
+ metadata.gz: 5e4a4d640319b0dd69de17325d9fbe8c5eb20019
4
+ data.tar.gz: ac43b0b47043148d7d7fe98a30294ef9f20b1aa0
5
5
  SHA512:
6
- metadata.gz: c15b95ae4bca28b324cd0ec3da9962aa26c8b52a399faf3ed4e7cd375a1944d7604ca30d778e75885f167d563c932ff5055f7fde418b3d50eeecf0958f34aa71
7
- data.tar.gz: 21c0815ea1424ce062c5a302479f7f56e2c8de7d88420b0039bb37a428ae2cee8db7b5914e094b0c5289b6816714c467a38499e4450d55824a85af4fa93b2ad7
6
+ metadata.gz: db2f98065fe821b90d9dbdef892a3f296e421fa22543b6847a4ebf1bd4dfeef60fc6c61524b1f04368939b43f75bb895120302e8feb1c8df42463a1227612632
7
+ data.tar.gz: 1a04b58d62f47d62a21e4c971d97834cbe8cd98afaeac21cb938b4493c418a9d043ed3cdf7aff77fff5dede1400d8820b45b983ace470e6e1c326f6e63004207
data/README.md CHANGED
@@ -1,17 +1,101 @@
1
- Ezy Grid
2
- ========
1
+ Ezy: The developer's toolbox for responsive websites
2
+ ====================================================
3
3
 
4
- My attempt to create a collection of simple-to-use grid helpers with SCSS
4
+ My attempt to create a collection of simple-to-use grid helpers and other tools with SCSS and Ruby
5
5
 
6
+ Installing Ezy
7
+ --------------
6
8
 
7
- Building and testing gem
8
- ------------------------
9
+ #### 1) Install the gem
9
10
 
10
- ### Build gem ###
11
- $ gem build ezy.gemspec
11
+ `gem install ezy`
12
12
 
13
- ### Install local gem ###
14
- $ gem install --local ezy-[build version].gem
13
+ #### 2) Require Ezy in your config.rb
15
14
 
16
- ### Open installed gem location (Mac) ###
17
- $ open /Users/[username]/.rvm/gems/
15
+ `require "ezy"`
16
+
17
+ #### 3) Import the part you need in your SCSS
18
+
19
+ Import all features:
20
+
21
+ `@import "ezy";`
22
+
23
+ Import grid only:
24
+
25
+ `@import "ezy/grid";`
26
+
27
+ Import sprites only:
28
+
29
+ `@import "ezy/sprites";`
30
+
31
+ Using Ezy
32
+ ---------
33
+
34
+ ### Sprites
35
+
36
+ #### 1) Create sprite
37
+
38
+ Simple use without retina:
39
+
40
+ @include make-sprite(
41
+ $name: "icons", // (required) your name to use when calling sprites
42
+ $folder: "icon-images" // (required) folder path relative to image folder
43
+ );
44
+
45
+ Simple use with retina:
46
+
47
+ @include make-sprite(
48
+ $name: "icons", // (required) your name to use when calling sprites
49
+ $folder: "icon-images", // (required) folder path relative to image folder
50
+ $folder-retina: "icon-images@2x" // (optional) folder path relative to image folder
51
+ );
52
+
53
+ Advanced use:
54
+
55
+ @include make-sprite(
56
+ $name: "icons", // (required) your name to use when calling sprites
57
+ $folder: "icon-images", // (required) folder path relative to image folder
58
+ $folder-retina: "icon-images@2x", // (optional) folder path relative to image folder
59
+ $spacing: 20px, // (optional) defaults to 0px
60
+ $layout: vertical, // (optional) vertical, horizontal, diagonal
61
+ $spacing-retina: null, // (optional) defaults to $spacing x 2
62
+ $layout-retina: null // (optional) defaults to $layout
63
+ );
64
+
65
+ #### 2) Use sprite
66
+
67
+ Simple use without retina:
68
+
69
+ .icon-git-fork {
70
+ @include background-sprite( "icons", "git-fork" ); // using image git-fork.png from images/icon-images/
71
+ }
72
+
73
+ Simple use with retina:
74
+
75
+ .icon-git-fork {
76
+ @include background-sprite( "icons", "git-fork", $use-retina: true );
77
+ }
78
+
79
+ Advanced use:
80
+
81
+ .icon-git-fork {
82
+ @include background-sprite(
83
+ $name: "icons", // (required) sprite name
84
+ $image: "git-fork", // (required) image to use
85
+ $use-retina: true, // (optional) wether to use retina on hi-res screens
86
+ $offset-x: 10px, // (optional) background offset x
87
+ $offset-y: 20px // (optional) background offset y
88
+ );
89
+ }
90
+
91
+ Building and testing local gem
92
+ ------------------------------
93
+
94
+ #### Build gem ###
95
+ `gem build ezy.gemspec`
96
+
97
+ #### Install local gem ###
98
+ `gem install --local ezy-[build version].gem`
99
+
100
+ #### Open installed gem location (Mac) ###
101
+ `open /Users/[username]/.rvm/gems/`
data/ezy.gemspec CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  # Release Specific Information
5
- s.version = "0.0.5"
5
+ s.version = "0.0.6"
6
6
  s.date = "2013-11-12"
7
7
 
8
8
  # Gem Details
9
9
  s.name = "ezy"
10
10
  s.author = "Frej Raahede Nielsen"
11
- s.summary = "Responsive grid framework for SASS"
12
- s.description = "Ezy Grid is a light weight grid framework for use with SASS. It's simple, but smart and will allow you to create even the most complex responsive layouts."
11
+ s.summary = "The developer's toolbox for responsive websites"
12
+ s.description = "A collection of SCSS tools for creating responsive websites. Includes a simple but powerful grid framework, media query helpers and sprite helpers."
13
13
  s.email = "frejraahede@gmail.com"
14
14
  s.homepage = "http://github.com/raahede/"
15
15
  s.license = "MIT"
@@ -48,9 +48,9 @@ $sprite-maps: ();
48
48
  $sprite: false;
49
49
  @if $retina {
50
50
  $map: return-sprite-setting( $name, 3 );
51
- @if (not $map) {
52
- @warn "The sprite '#{$name}' doesn't appear to have a retina version. Please check your sprite settings.";
53
- }
51
+ // @if (not $map) {
52
+ // @warn "The sprite '#{$name}' doesn't appear to have a retina version. Please check your sprite settings.";
53
+ // }
54
54
  } @else {
55
55
  $map: return-sprite-setting( $name, 2 );
56
56
  }
@@ -83,6 +83,22 @@ $sprite-maps: ();
83
83
  }
84
84
  }
85
85
 
86
+ // ---------------------------------------------------------------------------
87
+ // @function return-sprite-repeat
88
+ //
89
+ // Helper function to return a sprite's css repeat
90
+
91
+ @function return-offset( $reference, $adjustment, $fail-msg ) {
92
+ @if unit($adjustment) == "%" {
93
+ @return $adjustment;
94
+ } @else if unit($adjustment) == "px" or unit($adjustment) == "" {
95
+ @return ( $reference + $adjustment );
96
+ } @else {
97
+ @warn $fail-msg;
98
+ @return $reference;
99
+ }
100
+ }
101
+
86
102
  // ---------------------------------------------------------------------------
87
103
  // @function sprite-image-width
88
104
  //
@@ -227,58 +243,39 @@ $sprite-maps: ();
227
243
  }
228
244
 
229
245
  // ---------------------------------------------------------------------------
230
- // @mixin sprite-base
246
+ // @mixin background-sprite
231
247
  //
232
- // Basic mixin for using sprites with retina fallback
248
+ // Mixin for using sprites stored in the sprite map variable
233
249
 
234
- @mixin sprite-base(
235
- $map, // sprite map
250
+ @mixin background-sprite(
251
+ $name, // sprite name
236
252
  $image, // image to use
237
- $retina-map: false, // retina sprite map (optional)
238
253
  $offset-x: 0, // background offset x (optional)
239
- $offset-y: 0 // background offset y (optional)
240
- ) {
254
+ $offset-y: 0, // background offset y (optional)
255
+ $use-retina: true // wether to use retina on hi-res screens (optional)
256
+ ) {
257
+ $map: return-sprite-map( $name );
258
+ $retina-map: $use-retina;
259
+ @if $use-retina {
260
+ $retina-map: return-sprite-map( $name, $retina: true );
261
+ }
262
+
241
263
  @if $map and $image {
242
264
  $pos: sprite-position($map, $image);
243
- $pos-x: nth( $pos, 1 ) + $offset-x*1px;
244
- $pos-y: nth( $pos, 2 ) + $offset-y*1px;
265
+ $pos-x: return-offset( nth( $pos, 1 ), $offset-x, "$offset-x must be a number, a pixel value or a percentage!" );
266
+ $pos-y: return-offset( nth( $pos, 2 ), $offset-y, "$offset-y must be a number, a pixel value or a percentage!" );
245
267
  background-position: $pos-x $pos-y;
246
268
  @if $retina-map {
247
269
  @include at-retina {
248
270
  /* Retina sprite */
249
271
  $pos: sprite-position($retina-map, $image);
250
- $pos-x: nth( $pos, 1 )/2 + $offset-x*1px;
251
- $pos-y: nth( $pos, 2 )/2 + $offset-y*1px;
272
+ $pos-x: return-offset( nth( $pos, 1 )/2, $offset-x, "$offset-x must be a number, a pixel value or a percentage!" );
273
+ $pos-y: return-offset( nth( $pos, 2 )/2, $offset-y, "$offset-y must be a number, a pixel value or a percentage!" );
252
274
  background-position: $pos-x $pos-y;
253
275
  }
254
276
  }
255
277
  }
256
- }
257
278
 
258
- // ---------------------------------------------------------------------------
259
- // @mixin background-sprite
260
- //
261
- // Mixin for using sprites stored in the sprite map variable
262
-
263
- @mixin background-sprite(
264
- $name, // sprite name
265
- $image, // image to use
266
- $use-retina: true, // wether to use retina on hi-res screens (optional)
267
- $offset-x: 0, // background offset x (optional)
268
- $offset-y: 0 // background offset y (optional)
269
- ) {
270
- $map: return-sprite-map( $name );
271
- $retina-map: $use-retina;
272
- @if $use-retina {
273
- $retina-map: return-sprite-map( $name, $retina: true );
274
- }
275
- @include sprite-base(
276
- $map: $map, // sprite map
277
- $image: $image, // image to use
278
- $retina-map: $retina-map, // retina sprite map (optional)
279
- $offset-x: $offset-x, // background offset x (optional)
280
- $offset-y: $offset-y // background offset y (optional)
281
- );
282
279
  @extend %sprite-placeholder-#{ $name };
283
280
  @if $use-retina {
284
281
  // Set to optional because placeholder only exists if a retina sprite is set
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ezy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frej Raahede Nielsen
@@ -38,8 +38,8 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.2.0
41
- description: Ezy Grid is a light weight grid framework for use with SASS. It's simple,
42
- but smart and will allow you to create even the most complex responsive layouts.
41
+ description: A collection of SCSS tools for creating responsive websites. Includes
42
+ a simple but powerful grid framework, media query helpers and sprite helpers.
43
43
  email: frejraahede@gmail.com
44
44
  executables: []
45
45
  extensions: []
@@ -155,5 +155,5 @@ rubyforge_project:
155
155
  rubygems_version: 2.1.10
156
156
  signing_key:
157
157
  specification_version: 4
158
- summary: Responsive grid framework for SASS
158
+ summary: The developer's toolbox for responsive websites
159
159
  test_files: []