piecss 0.1.0.alpha.01
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +7 -0
- data/lib/piecss.rb +6 -0
- data/sass/piecss/behavior.scss +11 -0
- data/sass/piecss/behavior/anchor.scss +30 -0
- data/sass/piecss/behavior/base.scss +4 -0
- data/sass/piecss/behavior/base/normalize.scss +458 -0
- data/sass/piecss/behavior/base/preset.scss +57 -0
- data/sass/piecss/behavior/form.scss +120 -0
- data/sass/piecss/behavior/grid.scss +4 -0
- data/sass/piecss/behavior/grid/layout.scss +170 -0
- data/sass/piecss/behavior/grid/rhythm.scss +54 -0
- data/sass/piecss/behavior/list.scss +189 -0
- data/sass/piecss/settings.scss +18 -0
- data/sass/piecss/settings/base.scss +177 -0
- data/sass/piecss/settings/breakpoint.scss +32 -0
- data/sass/piecss/settings/constants.scss +147 -0
- data/sass/piecss/settings/fonts.scss +31 -0
- data/sass/piecss/settings/fonts/_asap.scss +44 -0
- data/sass/piecss/settings/fonts/_bree-serif.scss +23 -0
- data/sass/piecss/settings/fonts/_example.scss +43 -0
- data/sass/piecss/settings/fonts/_lato.scss +32 -0
- data/sass/piecss/settings/fonts/_monospace.scss +39 -0
- data/sass/piecss/settings/fonts/_pt-sans.scss +40 -0
- data/sass/piecss/settings/fonts/_raleway.scss +31 -0
- data/sass/piecss/settings/fonts/_righteous.scss +23 -0
- data/sass/piecss/settings/fonts/_roboto.scss +34 -0
- data/sass/piecss/settings/fonts/_sans-serif.scss +39 -0
- data/sass/piecss/settings/fonts/_serif.scss +39 -0
- data/sass/piecss/settings/fonts/_sofia-pro.scss +40 -0
- data/sass/piecss/settings/fonts/_varela-round.scss +24 -0
- data/sass/piecss/settings/fonts/_verdana.scss +40 -0
- data/sass/piecss/settings/fonts/icon-fonts/_fontawesome.scss +33 -0
- data/sass/piecss/settings/fonts/icon-fonts/_foundation-accessability.scss +75 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_bootstrap.scss +84 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_core.scss +129 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_extras.scss +93 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_icons.scss +381 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_mixins.scss +48 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_path.scss +14 -0
- data/sass/piecss/settings/fonts/icon-fonts/fontawesome/_variables.scss +734 -0
- data/sass/piecss/settings/fonts/icon-fonts/foundation-accessability/_settings.scss +28 -0
- data/sass/piecss/settings/form.scss +664 -0
- data/sass/piecss/settings/grid.scss +157 -0
- data/sass/piecss/settings/list.scss +216 -0
- data/sass/piecss/utilities.scss +16 -0
- data/sass/piecss/utilities/README.md +105 -0
- data/sass/piecss/utilities/breakpoint.scss +46 -0
- data/sass/piecss/utilities/cache.scss +74 -0
- data/sass/piecss/utilities/elements.scss +182 -0
- data/sass/piecss/utilities/image.scss +58 -0
- data/sass/piecss/utilities/layout.scss +367 -0
- data/sass/piecss/utilities/list.scss +26 -0
- data/sass/piecss/utilities/miscellaneous.scss +260 -0
- data/sass/piecss/utilities/rhythm.scss +173 -0
- data/sass/piecss/utilities/sides.scss +376 -0
- data/sass/piecss/utilities/typography.scss +295 -0
- data/sass/piecss/utilities/units.scss +166 -0
- data/templates/project/_settings.scss +24 -0
- data/templates/project/examples.html +224 -0
- data/templates/project/manifest.rb +13 -0
- data/templates/project/screen.scss +96 -0
- metadata +133 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
// Copyright (C) 2014 Babs Gösgens. Licensed under MIT; see LICENSE.txt
|
2
|
+
|
3
|
+
|
4
|
+
// Content:
|
5
|
+
// 1. Mixins
|
6
|
+
// list-style-type
|
7
|
+
|
8
|
+
|
9
|
+
// 1. Mixins
|
10
|
+
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Mixin a list-style-type
|
14
|
+
* @example scss
|
15
|
+
* @include list-style-type(bullet);
|
16
|
+
*
|
17
|
+
* @since 0.1
|
18
|
+
*
|
19
|
+
* @param {String} $type
|
20
|
+
*/
|
21
|
+
|
22
|
+
@mixin list-style-type($type) {
|
23
|
+
%#{$list-selector}--#{$type} {
|
24
|
+
list-style-type: $type;
|
25
|
+
}
|
26
|
+
}
|
@@ -0,0 +1,260 @@
|
|
1
|
+
// Copyright (C) 2014 Babs Gösgens. Licensed under MIT; see LICENSE.txt
|
2
|
+
|
3
|
+
|
4
|
+
// Content:
|
5
|
+
// 1. Functions
|
6
|
+
// to-bool
|
7
|
+
// 2. Mixins
|
8
|
+
// property
|
9
|
+
// border
|
10
|
+
// outline
|
11
|
+
// old-ie
|
12
|
+
// old-mozilla
|
13
|
+
// inline-block
|
14
|
+
|
15
|
+
|
16
|
+
// 1. Functions
|
17
|
+
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Converts a value to a proper boolean value
|
21
|
+
*
|
22
|
+
* @since 0.1
|
23
|
+
*
|
24
|
+
* @param {*} $value
|
25
|
+
*
|
26
|
+
* @return {Bool}
|
27
|
+
*/
|
28
|
+
|
29
|
+
@function to-bool($value) {
|
30
|
+
@if not $value or $value == "" or $value == 0 {
|
31
|
+
@return false;
|
32
|
+
}
|
33
|
+
@return true;
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Converts a list of property values to a property map. Use to convert 'old-style' associative arrays to SASS's new Map type.
|
38
|
+
*
|
39
|
+
* @example
|
40
|
+
* @include list-to-map(color #FFF, text-align left)
|
41
|
+
* // Output:
|
42
|
+
* (color: #FFF, text-align: left)
|
43
|
+
*
|
44
|
+
* @since 0.1
|
45
|
+
*
|
46
|
+
* @param {List} $properties
|
47
|
+
*
|
48
|
+
* @return {Map}
|
49
|
+
*/
|
50
|
+
|
51
|
+
@function list-to-map($properties)
|
52
|
+
{
|
53
|
+
$map: ();
|
54
|
+
@each $property in $properties {
|
55
|
+
$map: map-merge($map, ( nth($property,1): nth($property,2) ) );
|
56
|
+
}
|
57
|
+
|
58
|
+
@return $map;
|
59
|
+
}
|
60
|
+
|
61
|
+
|
62
|
+
// 2. Mixins
|
63
|
+
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Conditional mixin of property
|
67
|
+
*
|
68
|
+
* @since 0.1
|
69
|
+
* @deprecated
|
70
|
+
*
|
71
|
+
* @param {String} $property - A CSS property
|
72
|
+
* @param {Bool | *} $value - A value for the property, or false if the property should not be rendered.
|
73
|
+
*/
|
74
|
+
|
75
|
+
@mixin property($property, $value)
|
76
|
+
{
|
77
|
+
@if to-bool($value) {
|
78
|
+
#{$property}: $value;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
*
|
84
|
+
* @alias border
|
85
|
+
* Mixin for outline properties.
|
86
|
+
*/
|
87
|
+
|
88
|
+
@mixin outline($attributes)
|
89
|
+
{
|
90
|
+
@include border($attributes, true);
|
91
|
+
}
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Mixin for border properties
|
95
|
+
*
|
96
|
+
* @since 0.1
|
97
|
+
*
|
98
|
+
* @todo Provide examples
|
99
|
+
*
|
100
|
+
* @param {String | Map | List | Numner} $values - The border (or outline) properties
|
101
|
+
* @param {Bool} $outline - If true, will render the values as outline properties
|
102
|
+
*/
|
103
|
+
|
104
|
+
@mixin border($values, $outline: false)
|
105
|
+
{
|
106
|
+
$property: if($outline, outline, border);
|
107
|
+
|
108
|
+
@if type-of($values)=="list" {
|
109
|
+
$map: ();
|
110
|
+
@each $value in $values {
|
111
|
+
@if type-of($value)==number {
|
112
|
+
$map: append($map, width, space);
|
113
|
+
}
|
114
|
+
@else if type-of($value)==color {
|
115
|
+
$map: append($map, color, space);
|
116
|
+
}
|
117
|
+
@elseif type-of($value)==string {
|
118
|
+
$map: append($map, style, space);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
@include border( list-to-map( zip($map, $values) ), $outline);
|
122
|
+
}
|
123
|
+
@elseif type-of($values)=="string" {
|
124
|
+
#{$property}: $values;
|
125
|
+
}
|
126
|
+
@elseif type-of($values)=="map" {
|
127
|
+
|
128
|
+
@if map-has-key($values, width) and map-has-key($values, style) and map-has-key($values, color) {
|
129
|
+
#{$property}: map-get($values, width) map-get($values, style) map-get($values, color);
|
130
|
+
}
|
131
|
+
@else {
|
132
|
+
$keys: map-keys($values);
|
133
|
+
@each $key in $keys {
|
134
|
+
#{$property}-#{$key}: map-get($values, $key);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
|
141
|
+
/**
|
142
|
+
* Support for old-mozilla, cuse it to separate old-ie declarations from your other declarations with either a separate stylesheet or added specificity (Modernizr).
|
143
|
+
*
|
144
|
+
* @since 0.1
|
145
|
+
*
|
146
|
+
* @example
|
147
|
+
* @include old-ie() { // properties }
|
148
|
+
*/
|
149
|
+
|
150
|
+
@mixin old-ie() {
|
151
|
+
@if $legacy-support-for-ie {
|
152
|
+
@content;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
|
157
|
+
/**
|
158
|
+
* Support for old-mozilla, cuse it to separate old-mozilla declarations from your other declarations with either a separate stylesheet or added specificity (Modernizr).
|
159
|
+
*
|
160
|
+
* @since 0.1
|
161
|
+
*
|
162
|
+
* @example
|
163
|
+
* @include old-mozilla() { // properties }
|
164
|
+
*/
|
165
|
+
|
166
|
+
@mixin old-mozilla() {
|
167
|
+
@if $legacy-support-for-mozilla {
|
168
|
+
@content;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
|
172
|
+
|
173
|
+
/**
|
174
|
+
* Provides a cross-browser method to implement display: inline-block;. This replaces [Compass's](http://compass-style.org/reference/compass/css3/inline_block/) mixin by the same name with a more accessible implementation.
|
175
|
+
* See for valid property values: [http://www.w3schools.com/cssref/pr_pos_vertical-align.asp](http://www.w3schools.com/cssref/pr_pos_vertical-align.asp)
|
176
|
+
*
|
177
|
+
* @since 0.1
|
178
|
+
*
|
179
|
+
* @example
|
180
|
+
* @include inline-block(baseline);
|
181
|
+
*
|
182
|
+
* @param {String} $vertical-alignment (baseline) - Set $inline-block-alignment to none or false to disable the output of a vertical-align property in the inline-block mixin. Or set it to a legal value for vertical-align to change the default.
|
183
|
+
*/
|
184
|
+
|
185
|
+
@mixin inline-block($vertical-alignment: baseline) {
|
186
|
+
$vertical-alignment: unquote($vertical-alignment);
|
187
|
+
|
188
|
+
@include old-mozilla() {
|
189
|
+
display: -moz-inline-stack;
|
190
|
+
}
|
191
|
+
|
192
|
+
display: inline-block;
|
193
|
+
@if to-bool($vertical-alignment) {
|
194
|
+
vertical-align: #{$vertical-alignment};
|
195
|
+
}
|
196
|
+
|
197
|
+
@include old-ie() {
|
198
|
+
zoom: 1;
|
199
|
+
display: inline;
|
200
|
+
vertical-align: #{$vertical-alignment};
|
201
|
+
}
|
202
|
+
}
|
203
|
+
/**
|
204
|
+
* Provides a cross-browser method to implement opacity. This replaces [Compass's](http://compass-style.org/reference/compass/css3/opacity/) mixin by the same name with a more accessible implementation.
|
205
|
+
*
|
206
|
+
* @since 0.1
|
207
|
+
*
|
208
|
+
* @param {Number} $opacity - A number between 0 and 1, where 0 is transparent and 1 is opaque.
|
209
|
+
*/
|
210
|
+
|
211
|
+
@mixin opacity($opacity) {
|
212
|
+
@include old-ie() {
|
213
|
+
filter: unquote("progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})");
|
214
|
+
}
|
215
|
+
opacity: $opacity;
|
216
|
+
}
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Accepts a string which a valid appearance
|
220
|
+
*
|
221
|
+
* @since 0.1
|
222
|
+
*
|
223
|
+
* @param {String} $appearance
|
224
|
+
*/
|
225
|
+
|
226
|
+
@mixin reset-appearance($appearance)
|
227
|
+
{
|
228
|
+
@include reset-webkit-appearance($appearance);
|
229
|
+
@include reset-mozilla-appearance($appearance);
|
230
|
+
}
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
/**
|
236
|
+
* Accepts a string which a valid appearance
|
237
|
+
*
|
238
|
+
* @since 0.1
|
239
|
+
*
|
240
|
+
* @param {String} $appearance
|
241
|
+
*/
|
242
|
+
|
243
|
+
@mixin reset-webkit-appearance($appearance)
|
244
|
+
{
|
245
|
+
-webkit-appearance: $appearance; /* mobile firefox too! */
|
246
|
+
}
|
247
|
+
|
248
|
+
|
249
|
+
/**
|
250
|
+
* Accepts a string which a valid appearance
|
251
|
+
*
|
252
|
+
* @since 0.1
|
253
|
+
*
|
254
|
+
* @param {String} $appearance
|
255
|
+
*/
|
256
|
+
|
257
|
+
@mixin reset-mozilla-appearance($appearance)
|
258
|
+
{
|
259
|
+
-moz-appearance: $appearance; /* mobile firefox too! */
|
260
|
+
}
|
@@ -0,0 +1,173 @@
|
|
1
|
+
// Copyright (C) 2014 Babs Gösgens. Licensed under MIT; see LICENSE.txt
|
2
|
+
|
3
|
+
|
4
|
+
// Content:
|
5
|
+
// 1. Functions
|
6
|
+
// 1a. Vertical Rhythm:
|
7
|
+
// vrhythm
|
8
|
+
// vrhythm-units
|
9
|
+
// 1b. Horizontal Rhythm
|
10
|
+
// hrhythm
|
11
|
+
// vrhythm-units
|
12
|
+
// 2. Mixins
|
13
|
+
// 2a. Vertical Rhythm:
|
14
|
+
// vrhythm
|
15
|
+
// 2b. Horizontal Rhythm:
|
16
|
+
// hrhythm
|
17
|
+
// 2c. Miscellaneaous;
|
18
|
+
// debug-rhythm
|
19
|
+
|
20
|
+
|
21
|
+
// 1. Functions
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Calculates a value based on the [$rhythm](./#variable-rhythm).
|
25
|
+
*
|
26
|
+
* @since 0.1
|
27
|
+
*
|
28
|
+
* @param {Int | Fraction} $span (1) - The number of rhythm-units (whole or fraction) to span
|
29
|
+
*
|
30
|
+
* @return {Number} - The calculated span in px
|
31
|
+
*/
|
32
|
+
|
33
|
+
@function vrhythm($span: 1)
|
34
|
+
{
|
35
|
+
@return $rhythm * $span;
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Find the optimal rhythm units for a given font-size.
|
41
|
+
* If the specified span is too small for the font-size, find the next best one
|
42
|
+
* based on a specified increment.
|
43
|
+
*
|
44
|
+
* @since 0.1
|
45
|
+
*
|
46
|
+
* @param {Number} $font-size (16px) - The font-size in px
|
47
|
+
* @param {Number} (1) $span - The number of rhythm units to span, 1 equals 1 $rhythm
|
48
|
+
* @param {Number} (1) $increment - The increment in rhythm-units
|
49
|
+
*
|
50
|
+
* @return {Number} - The calculated span in px
|
51
|
+
*/
|
52
|
+
|
53
|
+
@function vrhythm-units($font-size: $default-font-size, $span: 1, $increment: 1)
|
54
|
+
{
|
55
|
+
$line-height: $span * $rhythm;
|
56
|
+
|
57
|
+
@if $font-size >= $line-height {
|
58
|
+
// call line-height again, but increase span with increment
|
59
|
+
@return vrhythm-units($font-size, $span + $increment, $increment);
|
60
|
+
}
|
61
|
+
|
62
|
+
@return $span;
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Calculates a value based on the [$gutter-width](./#variable-gutter-width) as declared in the Layout settings
|
68
|
+
*
|
69
|
+
* @example
|
70
|
+
* padding: hrhythm(.5);
|
71
|
+
* padding: to-unit( hrhythm(.5) );
|
72
|
+
* // Output:
|
73
|
+
* padding: 8px;
|
74
|
+
* padding: .5em;
|
75
|
+
*
|
76
|
+
* @since 0.1
|
77
|
+
*
|
78
|
+
* @param {Number} $fraction (1/2) - A fraction, e.g. 1/2
|
79
|
+
* @param {Value} $context (16px) - The font-size context, defaults to [$default-font-size](./#variable-default-font-size).
|
80
|
+
*
|
81
|
+
* @return {Number} - The calculated span in px
|
82
|
+
*/
|
83
|
+
|
84
|
+
@function hrhythm($fraction: 1/2, $context: $default-font-size)
|
85
|
+
{
|
86
|
+
// Cannot multiply with 0
|
87
|
+
@if $fraction == 0 {
|
88
|
+
@return $fraction;
|
89
|
+
}
|
90
|
+
|
91
|
+
@return $fraction * $gutter-width;
|
92
|
+
}
|
93
|
+
|
94
|
+
|
95
|
+
// 2. MIXINS
|
96
|
+
|
97
|
+
|
98
|
+
/**
|
99
|
+
* Use for top and bottom margins and paddings.
|
100
|
+
*
|
101
|
+
* @example
|
102
|
+
* @include vrhythm(1, padding-top);
|
103
|
+
*
|
104
|
+
* @since 0.1
|
105
|
+
*
|
106
|
+
* @param {Number} $span - The number of rhythm-units - whole or fraction - to span
|
107
|
+
* @param {String} $property - The property to be set, e.g. padding, margin-top
|
108
|
+
* @param {Value} $context (16px) - The font-size context
|
109
|
+
*/
|
110
|
+
|
111
|
+
@mixin vrhythm($span, $property, $context: $default-font-size)
|
112
|
+
{
|
113
|
+
@if strip-unit($span)==0 {
|
114
|
+
#{$property}: 0;
|
115
|
+
}
|
116
|
+
@else {
|
117
|
+
@if unit($unit)==rem {
|
118
|
+
#{$property}: $span*$default-line-height;
|
119
|
+
}
|
120
|
+
#{$property}: vrhythm($span);
|
121
|
+
}
|
122
|
+
|
123
|
+
}
|
124
|
+
|
125
|
+
|
126
|
+
/**
|
127
|
+
* Use for left and right margins and paddings. Uses [$gutter-width](./#variable-gutter-width) declared in grid settings
|
128
|
+
*
|
129
|
+
* @example
|
130
|
+
* @include hrhythm(1, padding-left);
|
131
|
+
*
|
132
|
+
* @since 0.1
|
133
|
+
*
|
134
|
+
* @param {Number} $fraction - The fraction of the gutter measurement
|
135
|
+
* @param {String} $property - The property to be set, e.g. padding, margin-left
|
136
|
+
* @param {Number} $context (16px) - The font-size context
|
137
|
+
*/
|
138
|
+
|
139
|
+
@mixin hrhythm($fraction, $property, $context: $default-font-size)
|
140
|
+
{
|
141
|
+
@if strip-unit($span)==0 {
|
142
|
+
#{$property}: 0;
|
143
|
+
}
|
144
|
+
@if unit($unit)==rem {
|
145
|
+
#{$property}: $fraction*$gutter-width;
|
146
|
+
}
|
147
|
+
#{$property}: hrhythm($fraction, $context);
|
148
|
+
}
|
149
|
+
|
150
|
+
|
151
|
+
/**
|
152
|
+
* Reveals the document's vertical rhythm. Will automatically be mixed in when [$debug-rhythm](./#variable-debug-rhythm) is set to true.
|
153
|
+
*
|
154
|
+
* @since 0.1
|
155
|
+
*/
|
156
|
+
|
157
|
+
@mixin debug-rhythm()
|
158
|
+
{
|
159
|
+
$to: transparent;
|
160
|
+
$from: rgba(226, 255, 255, .5);
|
161
|
+
|
162
|
+
background-image: -webkit-linear-gradient($from 50%, $to 50%);
|
163
|
+
background-image: linear-gradient($from 50%, $to 50%);
|
164
|
+
background-size: 2*$default-line-height 2*$default-line-height;
|
165
|
+
|
166
|
+
* {
|
167
|
+
background-color: transparent !important;
|
168
|
+
background-image: none !important;
|
169
|
+
outline: rgba(255,0,255,.1) dotted 1px;
|
170
|
+
outline: #D6D6D6 dotted 1px;
|
171
|
+
outline: lighten(rgb(255,0,255),.1) dotted 1px \9;
|
172
|
+
}
|
173
|
+
}
|