modular-scale 1.0.4 → 1.0.5
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.
- data/lib/modular-scale.rb +1 -1
- metadata +3 -4
- data/stylesheets/_modular-scale.sass +0 -226
data/lib/modular-scale.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: modular-scale
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -36,7 +36,7 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ! '>='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '1.
|
39
|
+
version: '1.5'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.5'
|
48
48
|
description: Sassy Modular Scale calculates the incremental values of the modular
|
49
49
|
scale.
|
50
50
|
email:
|
@@ -57,7 +57,6 @@ extra_rdoc_files: []
|
|
57
57
|
files:
|
58
58
|
- README.mdown
|
59
59
|
- lib/modular-scale.rb
|
60
|
-
- stylesheets/_modular-scale.sass
|
61
60
|
homepage: https://github.com/scottkellum/modular-scale
|
62
61
|
licenses: []
|
63
62
|
post_install_message:
|
@@ -1,226 +0,0 @@
|
|
1
|
-
// SASSY MODULAR-SCALE
|
2
|
-
// https://github.com/scottkellum/modular-scale
|
3
|
-
|
4
|
-
// Defaults
|
5
|
-
$ratio: golden_ratio() !default
|
6
|
-
$base-size: 16px !default
|
7
|
-
$round-pixels: true !default
|
8
|
-
|
9
|
-
// Modular Scale function
|
10
|
-
@function modular-scale($multiple, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
11
|
-
// return the $base-size if $multiple is zero
|
12
|
-
@if $multiple == 0
|
13
|
-
@if type-of($base-size) == 'list'
|
14
|
-
$base-size: sort_list($base-size)
|
15
|
-
@return nth($base-size, 1)
|
16
|
-
// return just the simple $base-size value if it's not a list
|
17
|
-
@return $base-size
|
18
|
-
|
19
|
-
// if multiple base-sizes are passed in as a list
|
20
|
-
// and multiple ratios are passed in as a list
|
21
|
-
// calculate values in using each base-size / ratio combination
|
22
|
-
@if type-of($base-size) == 'list' and type-of($ratio) == 'list'
|
23
|
-
@if unit(ms-multibase-multiratio($multiple, $base-size, $ratio)) == 'px' and $round-pixels == true
|
24
|
-
@return round(ms-multibase-multiratio($multiple, $base-size, $ratio))
|
25
|
-
@return ms-multibase-multiratio($multiple, $base-size, $ratio)
|
26
|
-
|
27
|
-
// if multiple base-sizes are passed in as a list
|
28
|
-
// calculate values in using each base-size
|
29
|
-
@if type-of($base-size) == 'list' and type-of($ratio) == 'number'
|
30
|
-
@if unit(ms-multibase($multiple, $base-size, $ratio)) == 'px' and $round-pixels == true
|
31
|
-
@return round(ms-multibase($multiple, $base-size, $ratio))
|
32
|
-
@return ms-multibase($multiple, $base-size, $ratio)
|
33
|
-
|
34
|
-
// if multiple ratios are passed in as a list
|
35
|
-
// calculate values in using each ratio
|
36
|
-
@if type-of($base-size) == 'number' and type-of($ratio) == 'list'
|
37
|
-
@if unit(ms-multiratio($multiple, $base-size, $ratio)) == 'px' and $round-pixels == true
|
38
|
-
@return round(ms-multiratio($multiple, $base-size, $ratio))
|
39
|
-
@return ms-multiratio($multiple, $base-size, $ratio)
|
40
|
-
|
41
|
-
// If there are no lists just run the simple function
|
42
|
-
@if unit(power($ratio, $multiple) * $base-size) == 'px' and $round-pixels == true
|
43
|
-
@return round(power($ratio, $multiple) * $base-size)
|
44
|
-
@return power($ratio, $multiple) * $base-size
|
45
|
-
|
46
|
-
|
47
|
-
// calculate values in using each base-size / ratio combination
|
48
|
-
@function ms-multibase-multiratio($multiple, $base-size: $base-size, $ratio: $ratio)
|
49
|
-
// start with an empty list to place all values in
|
50
|
-
$scale-values: ()
|
51
|
-
// make sure base sizes are in ascending order
|
52
|
-
$base-size: sort_list($base-size)
|
53
|
-
// take each base-size in turn
|
54
|
-
$k: 1
|
55
|
-
@while $k <= length($base-size)
|
56
|
-
// add each $base-size to the list except the first
|
57
|
-
@if $k > 1
|
58
|
-
$scale-values: append($scale-values, nth($base-size, $k))
|
59
|
-
// take each ratio in turn
|
60
|
-
$j: 1
|
61
|
-
@while $j <= length($ratio)
|
62
|
-
// reset $modular-scale for each set
|
63
|
-
$modular-scale: nth($base-size, $k)
|
64
|
-
// do the scale for each base-size using this ratio
|
65
|
-
@if $multiple > 0
|
66
|
-
// up $multiple times
|
67
|
-
// and add the result to $scale-values
|
68
|
-
@for $i from 1 through $multiple
|
69
|
-
$modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k)
|
70
|
-
$scale-values: append($scale-values, $modular-scale)
|
71
|
-
// and down until the value is lower than the lowest $base-size
|
72
|
-
// and add the result to $scale-values
|
73
|
-
$i: -1
|
74
|
-
$modular-scale: nth($base-size, $k)
|
75
|
-
@while $modular-scale >= nth($base-size, 1)
|
76
|
-
$modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k)
|
77
|
-
$scale-values: append($scale-values, $modular-scale)
|
78
|
-
$i: $i - 1
|
79
|
-
@if $multiple < 0
|
80
|
-
// do the scale down for each set to below 1px
|
81
|
-
$i: 0
|
82
|
-
$modular-scale: nth($base-size, $k)
|
83
|
-
@while $i >= $multiple
|
84
|
-
$modular-scale: power(nth($ratio, $j), $i) * nth($base-size, $k)
|
85
|
-
$scale-values: append($scale-values, $modular-scale)
|
86
|
-
$i: $i - 1
|
87
|
-
$j: $j + 1
|
88
|
-
$k: $k + 1
|
89
|
-
// return trimmed and sorted final list
|
90
|
-
@return trim-sort($multiple, $scale-values, $base-size)
|
91
|
-
|
92
|
-
|
93
|
-
// calculate values in using each base-size
|
94
|
-
@function ms-multibase($multiple, $base-size: $base-size, $ratio: $ratio)
|
95
|
-
// start with an empty list to place all values in
|
96
|
-
$scale-values: ()
|
97
|
-
// make sure base sizes are in ascending order
|
98
|
-
$base-size: sort_list($base-size)
|
99
|
-
// take each base-size in turn
|
100
|
-
$k: 1
|
101
|
-
@while $k <= length($base-size)
|
102
|
-
// add each $base-size to the list except the first
|
103
|
-
@if $k > 1
|
104
|
-
$scale-values: append($scale-values, nth($base-size, $k))
|
105
|
-
// reset $modular-scale for each set
|
106
|
-
$modular-scale: nth($base-size, $k)
|
107
|
-
// do the scale for each base-size using this ratio
|
108
|
-
@if $multiple > 0
|
109
|
-
// up $multiple times
|
110
|
-
// and add the result to $scale-values
|
111
|
-
@for $i from 1 through $multiple
|
112
|
-
$modular-scale: power($ratio, $i) * nth($base-size, $k)
|
113
|
-
$scale-values: append($scale-values, $modular-scale)
|
114
|
-
// and down until the value is lower than the lowest $base-size
|
115
|
-
// and add the result to $scale-values
|
116
|
-
$i: -1
|
117
|
-
$modular-scale: nth($base-size, $k)
|
118
|
-
@while $modular-scale >= nth($base-size, 1)
|
119
|
-
$modular-scale: power($ratio, $i) * nth($base-size, $k)
|
120
|
-
$scale-values: append($scale-values, $modular-scale)
|
121
|
-
$i: $i - 1
|
122
|
-
@if $multiple < 0
|
123
|
-
// do the scale down for each set to below 1px
|
124
|
-
$i: 0
|
125
|
-
$modular-scale: nth($base-size, $k)
|
126
|
-
@while $i >= $multiple
|
127
|
-
$modular-scale: power($ratio, $i) * nth($base-size, $k)
|
128
|
-
$scale-values: append($scale-values, $modular-scale)
|
129
|
-
$i: $i - 1
|
130
|
-
$k: $k + 1
|
131
|
-
// return trimmed and sorted final list
|
132
|
-
@return trim-sort($multiple, $scale-values, $base-size)
|
133
|
-
|
134
|
-
|
135
|
-
// calculate values in using each ratio
|
136
|
-
@function ms-multiratio($multiple, $base-size: $base-size, $ratio: $ratio)
|
137
|
-
// start with an empty list to place all values in
|
138
|
-
$scale-values: ()
|
139
|
-
// If $multiple is a positive integer (up the scale)
|
140
|
-
@if $multiple > 0
|
141
|
-
// take each ratio in turn
|
142
|
-
$j: 1
|
143
|
-
@while $j <= length($ratio)
|
144
|
-
// reset $modular-scale for each set
|
145
|
-
$modular-scale: $base-size
|
146
|
-
// do the scale using this ratio thru the multiple, and add the result to $scale-values
|
147
|
-
@for $i from 1 through $multiple
|
148
|
-
$modular-scale: power(nth($ratio, $j), $i) * $base-size
|
149
|
-
$scale-values: append($scale-values, $modular-scale)
|
150
|
-
$j: $j + 1
|
151
|
-
// sort acsending
|
152
|
-
$scale-values: sort_list($scale-values)
|
153
|
-
// return the final value using the laced list
|
154
|
-
@return nth($scale-values, $multiple)
|
155
|
-
// If $multiple is a negative integer (down the scale)
|
156
|
-
@if $multiple < 0
|
157
|
-
// take each ratio in turn
|
158
|
-
$j: 1
|
159
|
-
@while $j <= length($ratio)
|
160
|
-
// reset $modular-scale for each set
|
161
|
-
$modular-scale: $base-size
|
162
|
-
// do the scale using this ratio thru the multiple, and add the result to $scale-values
|
163
|
-
@for $i from 1 through ($multiple * -1)
|
164
|
-
$modular-scale: power(nth($ratio, $j), -$i) * $base-size
|
165
|
-
$scale-values: append($scale-values, $modular-scale)
|
166
|
-
$j: $j + 1
|
167
|
-
// sort decending
|
168
|
-
$scale-values: reverse_list(sort_list($scale-values))
|
169
|
-
// return the final value using the laced list
|
170
|
-
@return nth($scale-values, $multiple * -1)
|
171
|
-
|
172
|
-
|
173
|
-
// trim and sort the final list
|
174
|
-
@function trim-sort($multiple, $scale-values: $scale-values, $base-size: $base-size)
|
175
|
-
@if $multiple > 0
|
176
|
-
// trim list so we can count from the lowest $base-size
|
177
|
-
$scale-values: trim_list($scale-values, nth($base-size, 1), true)
|
178
|
-
// sort acsending
|
179
|
-
$scale-values: sort_list($scale-values)
|
180
|
-
// return the final value using the laced list
|
181
|
-
@return nth($scale-values, $multiple)
|
182
|
-
@else
|
183
|
-
// trim list so we can count from the lowest $base-size
|
184
|
-
$scale-values: trim_list($scale-values, nth($base-size, 1), false)
|
185
|
-
// sort acsending
|
186
|
-
$scale-values: reverse_list(sort_list($scale-values))
|
187
|
-
// return the final value using the laced list
|
188
|
-
@return nth($scale-values, -$multiple)
|
189
|
-
|
190
|
-
|
191
|
-
/////////////////////////////////////////////////////////////////////////
|
192
|
-
|
193
|
-
// alias for golden_ratio()
|
194
|
-
@function golden()
|
195
|
-
@return golden_ratio()
|
196
|
-
|
197
|
-
// Shortcut
|
198
|
-
@function ms($multiple, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
199
|
-
// Return the value from the Modular Scale function
|
200
|
-
@return modular-scale($multiple, $base-size, $ratio, $round-pixels)
|
201
|
-
|
202
|
-
// Write Modular Scale List
|
203
|
-
@function modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
204
|
-
$ms-list: unquote("MS-LIST:")
|
205
|
-
@for $i from $start through $finish
|
206
|
-
$ms-list: append($ms-list, ms($i, $base-size, $ratio, $round-pixels))
|
207
|
-
@return $ms-list
|
208
|
-
|
209
|
-
@function ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
210
|
-
@return modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels)
|
211
|
-
|
212
|
-
=modular-scale-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
213
|
-
@debug modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels)
|
214
|
-
|
215
|
-
=ms-list($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
216
|
-
@debug modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels)
|
217
|
-
|
218
|
-
=modular-scale-list-output($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
219
|
-
MODULAR-SCALE-LIST
|
220
|
-
ms-list: modular-scale-list($start, $finish, $base-size, $ratio, $round-pixels)
|
221
|
-
|
222
|
-
=ms-list-output($start: 0, $finish: 20, $base-size: $base-size, $ratio: $ratio, $round-pixels: $round-pixels)
|
223
|
-
+modular-scale-list-output($start, $finish, $base-size, $ratio, $round-pixels)
|
224
|
-
|
225
|
-
// Other libraries can easily query if this function is avalible
|
226
|
-
$modular-scale-loaded: true
|