sass-color-schemes 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +242 -0
- data/lib/sass-color-schemes.rb +5 -0
- data/stylesheets/_mixins.scss +66 -0
- data/stylesheets/_sass-color-schemes.scss +4 -0
- data/stylesheets/_variables.scss +33 -0
- data/templates/project/manifest.rb +2 -0
- data/templates/project/screen.scss +3 -0
- metadata +81 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 092075af671c7f8422c9d5d4d5958787d5086436
|
4
|
+
data.tar.gz: 4567e52a8b37a22edeba60bc81a096ea3723491d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: be61f2ba4994195ffb0d0b069e5ff13aa25cbc455026a435d514aaca150a6876199fec0fd68a6baed7826d25a1da6121cf9a4659c1a64e6c4698ef75a626ebb5
|
7
|
+
data.tar.gz: d4db49a72db0ba1fe0b65552a0faef393b75fc46015fc337fa5b829981f70a1eea07c9a51352bae469ec32596f4792b096cc95aaff9460a81cd7216fb223dfe1
|
data/README.md
ADDED
@@ -0,0 +1,242 @@
|
|
1
|
+
# Sass-color-schemes
|
2
|
+
|
3
|
+
This [Compass](compass-style.org) extension makes it easy to use color schemes in your web pages by providing a collection of colors based on one (base-) color which is supplemented with additional colors to make the best visual impression.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'sass-color-schemes'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install sass-color-schemes
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
Import it into your main stylesheet:
|
24
|
+
|
25
|
+
@import 'sass-color-schemes';
|
26
|
+
|
27
|
+
### Color functions
|
28
|
+
|
29
|
+
Sass-color-schemes has 4 functions that all return an array of 5 color values (of 5 `null`'s). Each function uses variables, such as `$base-color`, `$variation`, etc. for calculating the proper values.
|
30
|
+
|
31
|
+
See **variables** for a description of the different kinds.
|
32
|
+
|
33
|
+
#### primary-colors
|
34
|
+
|
35
|
+
Returns an array of 5 colors, in which the first element is the base color and the rest are different shades of the base color. You need the Sass' `nth` function to access a specific color:
|
36
|
+
|
37
|
+
```
|
38
|
+
$color-primary-0: nth(primary-colors(), 1);
|
39
|
+
$color-primary-1: nth(primary-colors(), 2);
|
40
|
+
// ... etc.
|
41
|
+
|
42
|
+
.title {
|
43
|
+
color: $color-primary-0;
|
44
|
+
}
|
45
|
+
|
46
|
+
.subtitle {
|
47
|
+
color: $color-primary-1;
|
48
|
+
}
|
49
|
+
|
50
|
+
```
|
51
|
+
|
52
|
+
#### complement-colors
|
53
|
+
|
54
|
+
Returns an array of 5 colors, in which the first element is the complementary color of base color and the rest are different shades of this complementary color. You need the Sass' `nth` function to access a specific color:
|
55
|
+
|
56
|
+
|
57
|
+
```
|
58
|
+
$color-complement-0: nth(complement-colors(), 1);
|
59
|
+
$color-complement-1: nth(complement-colors(), 2);
|
60
|
+
// ... etc.
|
61
|
+
|
62
|
+
.call-to-action {
|
63
|
+
background-color: $color-complement-0;
|
64
|
+
}
|
65
|
+
|
66
|
+
```
|
67
|
+
|
68
|
+
**Note:** The `complement-colors` function only returns an array of colors when the `$complement` variable is set to `true` or the `$scheme` variable is set to `triad`. Otherwise an array with 5 `null`'s is returned.
|
69
|
+
|
70
|
+
#### secondary-1-colors and secondary-2-colors
|
71
|
+
|
72
|
+
Some color schemes contain 2 additional colors. These functions each returns an array of 5 colors with, again, 5 different shades of a color. You need the Sass' `nth` function to access a specific color:
|
73
|
+
|
74
|
+
```
|
75
|
+
$color-secondary-1-0: nth(secondary-1-colors(), 1);
|
76
|
+
$color-secondary-1-1: nth(secondary-1-colors(), 2);
|
77
|
+
// ... etc.
|
78
|
+
|
79
|
+
$color-secondary-2-0: nth(secondary-2-colors(), 1);
|
80
|
+
$color-secondary-2-1: nth(secondary-2-colors(), 2);
|
81
|
+
// ... etc.
|
82
|
+
|
83
|
+
```
|
84
|
+
**Note:** The `secondary-1-colors` and `secondary-2-colors` functions only returns an array of colors when the `$scheme` variable is set to `adjacent`, `tetrad` or `triad`. Otherwise an array with 5 `null`'s is returned.
|
85
|
+
|
86
|
+
### Variables
|
87
|
+
|
88
|
+
You can (and might want to) define several variables to customize the color scheme.
|
89
|
+
|
90
|
+
#### $base-color
|
91
|
+
|
92
|
+
The color used as a base color to calculate the shades and all other colors. This can be any Sass color.
|
93
|
+
|
94
|
+
Defaults to `#ff0000` (red).
|
95
|
+
|
96
|
+
```
|
97
|
+
$base-color: red;
|
98
|
+
$base-color: hsl(0deg, 100%, 50%);
|
99
|
+
$base-color: #ff0000;
|
100
|
+
// ... etc.
|
101
|
+
```
|
102
|
+
|
103
|
+
#### $scheme
|
104
|
+
|
105
|
+
Sass-color-schemes supports 4 different color schemes:
|
106
|
+
|
107
|
+
* **monochromatic** - all the colors (tints, tones, and shades) of a single hue
|
108
|
+
* **adjacent** - groups of colors that are adjacent to each other on the color wheel
|
109
|
+
* **triad** - three colors equally spaced around the color wheel
|
110
|
+
* **tetrad** - four colors arranged into two complementary color pairs
|
111
|
+
|
112
|
+
Defaults to `'monochromatic'`.
|
113
|
+
|
114
|
+
```
|
115
|
+
$scheme: 'monochromatic';
|
116
|
+
$scheme: 'tetrad';
|
117
|
+
// ... etc.
|
118
|
+
|
119
|
+
```
|
120
|
+
|
121
|
+
#### $complement
|
122
|
+
|
123
|
+
If set to `true`, the `complement-colors` function returns shades of the complementary color of the `$base-color`.
|
124
|
+
|
125
|
+
Defaults to `false`.
|
126
|
+
|
127
|
+
```
|
128
|
+
$complement: true;
|
129
|
+
$complement: false;
|
130
|
+
|
131
|
+
```
|
132
|
+
|
133
|
+
#### $angle
|
134
|
+
|
135
|
+
The angle applied to the `$base-color` to calculate other colors in all schemes, expect `monochromatic`. This can be any value and can be set in degrees (deg) or radian (rad) units as well.
|
136
|
+
|
137
|
+
Defaults to `30deg`.
|
138
|
+
|
139
|
+
```
|
140
|
+
$angle: 30;
|
141
|
+
$angle: 30deg;
|
142
|
+
$angle: 0.5236rad;
|
143
|
+
```
|
144
|
+
|
145
|
+
#### $variation
|
146
|
+
|
147
|
+
This will vary the tints, tones and shades of the colors returned by all functions. Currently Sass-color-schemes supports 24 variations:
|
148
|
+
|
149
|
+
* lightest pale pastel
|
150
|
+
* very light pale pastel
|
151
|
+
* lighter pale pastel
|
152
|
+
* pale pastel
|
153
|
+
* darker pale pastel
|
154
|
+
* dark pale pastel
|
155
|
+
* greyish darkest
|
156
|
+
* greyish medium light
|
157
|
+
* bright pastel
|
158
|
+
* very light pastel
|
159
|
+
* lighter pastel
|
160
|
+
* pastel
|
161
|
+
* darker pastel
|
162
|
+
* dark pastel
|
163
|
+
* greyish dark
|
164
|
+
* greyish lighter
|
165
|
+
* shiny
|
166
|
+
* full colors
|
167
|
+
* darker colors
|
168
|
+
* darker neon
|
169
|
+
* dark
|
170
|
+
* deep colors
|
171
|
+
* greyish medium dark
|
172
|
+
* greyish lightest
|
173
|
+
|
174
|
+
Defaults to `full colors`.
|
175
|
+
|
176
|
+
```
|
177
|
+
$variation: 'darker pale pastel';
|
178
|
+
$variation: 'shiny';
|
179
|
+
// ... etc.
|
180
|
+
|
181
|
+
```
|
182
|
+
|
183
|
+
#### $mode
|
184
|
+
|
185
|
+
You can choose between:
|
186
|
+
|
187
|
+
* [RGB](http://en.wikipedia.org/wiki/RGB_color_model) (a.k.a. the light model)
|
188
|
+
* [RYB](http://en.wikipedia.org/wiki/RYB_color_model)
|
189
|
+
|
190
|
+
These modes are internally used when calculating colors. RYB is primarily used in art and design education.
|
191
|
+
|
192
|
+
Defaults to `ryb`.
|
193
|
+
|
194
|
+
```
|
195
|
+
$mode: 'rgb';
|
196
|
+
$mode: 'ryb';
|
197
|
+
|
198
|
+
```
|
199
|
+
|
200
|
+
### Full example
|
201
|
+
|
202
|
+
```
|
203
|
+
$base-color: #6893A6;
|
204
|
+
$variation: 'shiny';
|
205
|
+
$scheme: 'adjacent';
|
206
|
+
$angle: 25;
|
207
|
+
$complement: true;
|
208
|
+
|
209
|
+
$color-primary-0: nth(primary-colors(), 1);
|
210
|
+
$color-primary-1: nth(primary-colors(), 2);
|
211
|
+
$color-primary-2: nth(primary-colors(), 3);
|
212
|
+
$color-primary-3: nth(primary-colors(), 4);
|
213
|
+
$color-primary-4: nth(primary-colors(), 5);
|
214
|
+
|
215
|
+
$color-complement-0: nth(complement-colors(), 1);
|
216
|
+
$color-complement-1: nth(complement-colors(), 2);
|
217
|
+
$color-complement-2: nth(complement-colors(), 3);
|
218
|
+
$color-complement-3: nth(complement-colors(), 4);
|
219
|
+
$color-complement-4: nth(complement-colors(), 5);
|
220
|
+
|
221
|
+
$color-secondary-1-0: nth(secondary-1-colors(), 1);
|
222
|
+
$color-secondary-1-1: nth(secondary-1-colors(), 2);
|
223
|
+
$color-secondary-1-2: nth(secondary-1-colors(), 3);
|
224
|
+
$color-secondary-1-3: nth(secondary-1-colors(), 4);
|
225
|
+
$color-secondary-1-4: nth(secondary-1-colors(), 5);
|
226
|
+
|
227
|
+
$color-secondary-2-0: nth(secondary-2-colors(), 1);
|
228
|
+
$color-secondary-2-1: nth(secondary-2-colors(), 2);
|
229
|
+
$color-secondary-2-2: nth(secondary-2-colors(), 3);
|
230
|
+
$color-secondary-2-3: nth(secondary-2-colors(), 4);
|
231
|
+
$color-secondary-2-4: nth(secondary-2-colors(), 5);
|
232
|
+
|
233
|
+
|
234
|
+
```
|
235
|
+
|
236
|
+
## Contributing
|
237
|
+
|
238
|
+
1. Fork it (https://github.com/bazzel/sass-color-schemes/fork)
|
239
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
240
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
241
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
242
|
+
5. Create a new Pull Request
|
@@ -0,0 +1,66 @@
|
|
1
|
+
@function primary-colors() {
|
2
|
+
@return _compose-shades($base-color);
|
3
|
+
}
|
4
|
+
|
5
|
+
@function complement-colors() {
|
6
|
+
@if ($complement == false) and ($scheme != 'tetrad') {
|
7
|
+
@return _empty-array();
|
8
|
+
}
|
9
|
+
|
10
|
+
@return _compose-color(180);
|
11
|
+
}
|
12
|
+
|
13
|
+
@function secondary-1-colors() {
|
14
|
+
@if ($scheme == 'triad') {
|
15
|
+
@return _compose-color(180 - $angle);
|
16
|
+
} @else if ($scheme == 'adjacent') or ($scheme == 'tetrad') {
|
17
|
+
@return _compose-color($angle);
|
18
|
+
} @else {
|
19
|
+
@return _empty-array();
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
@function secondary-2-colors() {
|
24
|
+
@if ($scheme == 'triad') or ($scheme == 'tetrad') {
|
25
|
+
@return _compose-color(180 + $angle);
|
26
|
+
} @else if ($scheme == 'adjacent') {
|
27
|
+
@return _compose-color(-$angle);
|
28
|
+
} @else {
|
29
|
+
@return _empty-array();
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
@function _compose-color($angle) {
|
34
|
+
$color: _adjust-hue($angle);
|
35
|
+
@return _compose-shades($color);
|
36
|
+
}
|
37
|
+
|
38
|
+
@function _adjust-hue($angle) {
|
39
|
+
@return if($mode == 'ryb', ryb-adjust-hue($base-color, $angle), adjust-hue($base-color, $angle));
|
40
|
+
}
|
41
|
+
|
42
|
+
@function _compose-shades($color) {
|
43
|
+
$shades: map-get($variations, $variation);
|
44
|
+
|
45
|
+
$colors: ();
|
46
|
+
@for $i from 1 through 5 {
|
47
|
+
$colors: append($colors, _adjust-color($color, $shades, $i));
|
48
|
+
}
|
49
|
+
@return $colors;
|
50
|
+
}
|
51
|
+
|
52
|
+
@function _adjust-color($base-color, $shades, $n) {
|
53
|
+
$sval: percentage(nth(nth($shades, $n), 1))/100;
|
54
|
+
$lval: percentage(nth(nth($shades, $n), 2))/100;
|
55
|
+
$color: scale-color($base-color, $saturation: $sval, $lightness: $lval);
|
56
|
+
|
57
|
+
@return $color;
|
58
|
+
}
|
59
|
+
|
60
|
+
@function _empty-array() {
|
61
|
+
$arr: ();
|
62
|
+
@for $i from 1 through 5 {
|
63
|
+
$arr: append($arr, null);
|
64
|
+
}
|
65
|
+
@return $arr;
|
66
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
$base-color: #ff0000 !default;
|
2
|
+
$variation: 'full colors' !default;
|
3
|
+
$scheme: 'monochromatic' !default; // monochromatic, adjacent, triad, tetrad
|
4
|
+
$mode: 'ryb' !default; // rgb, ryb
|
5
|
+
$angle: 30deg !default;
|
6
|
+
$complement: false !default;
|
7
|
+
|
8
|
+
$variations: (
|
9
|
+
'lightest pale pastel': (0 77) (0 90) (0 82) (0 68) (0 60),
|
10
|
+
'very light pale pastel': (0 65) (0 86) (0 77) (-26 42) (-44 15),
|
11
|
+
'lighter pale pastel': (-36 48) (0 83) (0 75) (-49 22) (-52 -5),
|
12
|
+
'pale pastel': (-71 9) (-17 83) (-63 42) (-70 -17) (-53 -40),
|
13
|
+
'darker pale pastel': (-77 -35) (-81 15) (-81 -8) (-61 -48) (-44 -57),
|
14
|
+
'dark pale pastel': (-85 -62) (-87 -8) (-87 -35) (-73 -68) (-62 -75),
|
15
|
+
'greyish darkest': (-93 -72) (-79 -16) (-86 -40) (-80 -58) (-65 -50),
|
16
|
+
'greyish medium light': (-95 17) (-78 35) (-94 2) (-92 -10) (-89 -23),
|
17
|
+
'bright pastel': (0 34) (0 96) (0 60) (0 10) (0 0),
|
18
|
+
'very light pastel': (0 42) (0 72) (0 57) (0 29) (-18 5),
|
19
|
+
'lighter pastel': (-39 9) (0 63) (-13 42) (-35 -14) (-17 -38),
|
20
|
+
'pastel': (-50 -9) (0 65) (-45 24) (-28 -42) (0 -66),
|
21
|
+
'darker pastel': (-57 -41) (-77 -4) (-73 -29) (-43 -55) (-21 -70),
|
22
|
+
'dark pastel': (-64 -65) (-69 -24) (-67 -44) (-50 -56) (-36 -55),
|
23
|
+
'greyish dark': (-95 -55) (-93 -26) (-94 -42) (-92 -58) (-82 -68),
|
24
|
+
'greyish lighter': (-87 60) (-25 82) (-85 45) (-85 25) (-84 12),
|
25
|
+
'shiny': (0 0) (0 63) (0 43) (0 -14) (0 -35),
|
26
|
+
'full colors': (0 0) (0 38) (0 22) (0 -22) (0 -40),
|
27
|
+
'darker colors': (-12 -28) (-27 18) (-23 -6) (0 -43) (0 -59),
|
28
|
+
'darker neon': (-10 -38) (-2 -8) (-11 -22) (0 -59) (0 -77),
|
29
|
+
'dark': (0 -60) (-6 -75) (0 -70) (0 -40) (0 -19),
|
30
|
+
'deep colors': (0 -78) (0 -83) (-8 -72) (0 -55) (0 -35),
|
31
|
+
'greyish medium dark': (-96 -29) (-90 -8) (-95 -40) (-94 -52) (-92 -66),
|
32
|
+
'greyish lightest': (0 96) (0 77) (0 85) (0 92) (-67 74)
|
33
|
+
);
|
metadata
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sass-color-schemes
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Patrick Baselier
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: compass
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: color-schemer
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.2.8
|
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.8
|
41
|
+
description: Makes it easy to use color schemes in your web pages by providing a collection
|
42
|
+
of colors based on one (base-) color which is supplemented with additional colors
|
43
|
+
to make the best visual impression.
|
44
|
+
email:
|
45
|
+
- patrick.baselier@gmail.com
|
46
|
+
executables: []
|
47
|
+
extensions: []
|
48
|
+
extra_rdoc_files: []
|
49
|
+
files:
|
50
|
+
- README.md
|
51
|
+
- lib/sass-color-schemes.rb
|
52
|
+
- stylesheets/_mixins.scss
|
53
|
+
- stylesheets/_sass-color-schemes.scss
|
54
|
+
- stylesheets/_variables.scss
|
55
|
+
- templates/project/manifest.rb
|
56
|
+
- templates/project/screen.scss
|
57
|
+
homepage: https://github.com/bazzel/sass-color-schemes
|
58
|
+
licenses:
|
59
|
+
- MIT
|
60
|
+
metadata: {}
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
requirements: []
|
76
|
+
rubyforge_project:
|
77
|
+
rubygems_version: 2.2.2
|
78
|
+
signing_key:
|
79
|
+
specification_version: 4
|
80
|
+
summary: Use color schemes in your web pages the easy way
|
81
|
+
test_files: []
|