soffes-blog-jekyll 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/.gitignore +5 -0
- data/.ruby-version +1 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +68 -0
- data/Rakefile +2 -0
- data/_includes/footer.html +4 -0
- data/_includes/head.html +13 -0
- data/_includes/header.html +5 -0
- data/_layouts/default.html +13 -0
- data/_layouts/home.html +21 -0
- data/_layouts/page.html +5 -0
- data/_layouts/post.html +22 -0
- data/_sass/application.scss +271 -0
- data/_sass/bourbon/_bourbon-deprecated-upcoming.scss +411 -0
- data/_sass/bourbon/_bourbon.scss +87 -0
- data/_sass/bourbon/addons/_border-color.scss +26 -0
- data/_sass/bourbon/addons/_border-radius.scss +48 -0
- data/_sass/bourbon/addons/_border-style.scss +25 -0
- data/_sass/bourbon/addons/_border-width.scss +25 -0
- data/_sass/bourbon/addons/_buttons.scss +64 -0
- data/_sass/bourbon/addons/_clearfix.scss +25 -0
- data/_sass/bourbon/addons/_ellipsis.scss +30 -0
- data/_sass/bourbon/addons/_font-stacks.scss +31 -0
- data/_sass/bourbon/addons/_hide-text.scss +27 -0
- data/_sass/bourbon/addons/_margin.scss +26 -0
- data/_sass/bourbon/addons/_padding.scss +26 -0
- data/_sass/bourbon/addons/_position.scss +48 -0
- data/_sass/bourbon/addons/_prefixer.scss +66 -0
- data/_sass/bourbon/addons/_retina-image.scss +25 -0
- data/_sass/bourbon/addons/_size.scss +51 -0
- data/_sass/bourbon/addons/_text-inputs.scss +112 -0
- data/_sass/bourbon/addons/_timing-functions.scss +34 -0
- data/_sass/bourbon/addons/_triangle.scss +63 -0
- data/_sass/bourbon/addons/_word-wrap.scss +29 -0
- data/_sass/bourbon/css3/_animation.scss +43 -0
- data/_sass/bourbon/css3/_appearance.scss +3 -0
- data/_sass/bourbon/css3/_backface-visibility.scss +3 -0
- data/_sass/bourbon/css3/_background-image.scss +42 -0
- data/_sass/bourbon/css3/_background.scss +55 -0
- data/_sass/bourbon/css3/_border-image.scss +59 -0
- data/_sass/bourbon/css3/_calc.scss +4 -0
- data/_sass/bourbon/css3/_columns.scss +47 -0
- data/_sass/bourbon/css3/_filter.scss +4 -0
- data/_sass/bourbon/css3/_flex-box.scss +289 -0
- data/_sass/bourbon/css3/_font-face.scss +24 -0
- data/_sass/bourbon/css3/_font-feature-settings.scss +4 -0
- data/_sass/bourbon/css3/_hidpi-media-query.scss +10 -0
- data/_sass/bourbon/css3/_hyphens.scss +4 -0
- data/_sass/bourbon/css3/_image-rendering.scss +14 -0
- data/_sass/bourbon/css3/_keyframes.scss +36 -0
- data/_sass/bourbon/css3/_linear-gradient.scss +38 -0
- data/_sass/bourbon/css3/_perspective.scss +8 -0
- data/_sass/bourbon/css3/_placeholder.scss +8 -0
- data/_sass/bourbon/css3/_radial-gradient.scss +39 -0
- data/_sass/bourbon/css3/_selection.scss +42 -0
- data/_sass/bourbon/css3/_text-decoration.scss +19 -0
- data/_sass/bourbon/css3/_transform.scss +15 -0
- data/_sass/bourbon/css3/_transition.scss +71 -0
- data/_sass/bourbon/css3/_user-select.scss +3 -0
- data/_sass/bourbon/functions/_assign-inputs.scss +11 -0
- data/_sass/bourbon/functions/_contains-falsy.scss +20 -0
- data/_sass/bourbon/functions/_contains.scss +26 -0
- data/_sass/bourbon/functions/_is-length.scss +11 -0
- data/_sass/bourbon/functions/_is-light.scss +21 -0
- data/_sass/bourbon/functions/_is-number.scss +11 -0
- data/_sass/bourbon/functions/_is-size.scss +13 -0
- data/_sass/bourbon/functions/_modular-scale.scss +69 -0
- data/_sass/bourbon/functions/_px-to-em.scss +13 -0
- data/_sass/bourbon/functions/_px-to-rem.scss +15 -0
- data/_sass/bourbon/functions/_shade.scss +24 -0
- data/_sass/bourbon/functions/_strip-units.scss +17 -0
- data/_sass/bourbon/functions/_tint.scss +24 -0
- data/_sass/bourbon/functions/_transition-property-name.scss +22 -0
- data/_sass/bourbon/functions/_unpack.scss +27 -0
- data/_sass/bourbon/helpers/_convert-units.scss +15 -0
- data/_sass/bourbon/helpers/_directional-values.scss +96 -0
- data/_sass/bourbon/helpers/_font-source-declaration.scss +43 -0
- data/_sass/bourbon/helpers/_gradient-positions-parser.scss +13 -0
- data/_sass/bourbon/helpers/_linear-angle-parser.scss +25 -0
- data/_sass/bourbon/helpers/_linear-gradient-parser.scss +41 -0
- data/_sass/bourbon/helpers/_linear-positions-parser.scss +61 -0
- data/_sass/bourbon/helpers/_linear-side-corner-parser.scss +31 -0
- data/_sass/bourbon/helpers/_radial-arg-parser.scss +69 -0
- data/_sass/bourbon/helpers/_radial-gradient-parser.scss +50 -0
- data/_sass/bourbon/helpers/_radial-positions-parser.scss +18 -0
- data/_sass/bourbon/helpers/_render-gradients.scss +26 -0
- data/_sass/bourbon/helpers/_shape-size-stripper.scss +10 -0
- data/_sass/bourbon/helpers/_str-to-num.scss +50 -0
- data/_sass/bourbon/settings/_asset-pipeline.scss +7 -0
- data/_sass/bourbon/settings/_prefixer.scss +9 -0
- data/_sass/bourbon/settings/_px-to-em.scss +1 -0
- data/_sass/components/code.scss +89 -0
- data/_sass/components/pagination.scss +50 -0
- data/_sass/components/reset.scss +54 -0
- data/_sass/globals/variables.scss +25 -0
- data/_sass/sections/blog.scss +186 -0
- data/_sass/sections/error.scss +6 -0
- data/assets/application.js +38 -0
- data/assets/fonts.css +22 -0
- data/assets/main.scss +5 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/soffes/blog/jekyll.rb +9 -0
- data/lib/soffes/blog/jekyll/version.rb +7 -0
- data/soffes-blog-jekyll.gemspec +34 -0
- metadata +180 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Arglist} $vals
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include border-color(#a60b55 #76cd9c null #e8ae1a);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// border-left-color: #e8ae1a;
|
16
|
+
/// border-right-color: #76cd9c;
|
17
|
+
/// border-top-color: #a60b55;
|
18
|
+
/// }
|
19
|
+
///
|
20
|
+
/// @require {mixin} directional-property
|
21
|
+
///
|
22
|
+
/// @output `border-color`
|
23
|
+
|
24
|
+
@mixin border-color($vals...) {
|
25
|
+
@include directional-property(border, color, $vals...);
|
26
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `border-radius` on both corners on the side of a box.
|
4
|
+
///
|
5
|
+
/// @param {Number} $radii
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element-one {
|
10
|
+
/// @include border-top-radius(5px);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// .element-two {
|
14
|
+
/// @include border-left-radius(3px);
|
15
|
+
/// }
|
16
|
+
///
|
17
|
+
/// @example css - CSS Output
|
18
|
+
/// .element-one {
|
19
|
+
/// border-top-left-radius: 5px;
|
20
|
+
/// border-top-right-radius: 5px;
|
21
|
+
/// }
|
22
|
+
///
|
23
|
+
/// .element-two {
|
24
|
+
/// border-bottom-left-radius: 3px;
|
25
|
+
/// border-top-left-radius: 3px;
|
26
|
+
/// }
|
27
|
+
///
|
28
|
+
/// @output `border-radius`
|
29
|
+
|
30
|
+
@mixin border-top-radius($radii) {
|
31
|
+
border-top-left-radius: $radii;
|
32
|
+
border-top-right-radius: $radii;
|
33
|
+
}
|
34
|
+
|
35
|
+
@mixin border-right-radius($radii) {
|
36
|
+
border-bottom-right-radius: $radii;
|
37
|
+
border-top-right-radius: $radii;
|
38
|
+
}
|
39
|
+
|
40
|
+
@mixin border-bottom-radius($radii) {
|
41
|
+
border-bottom-left-radius: $radii;
|
42
|
+
border-bottom-right-radius: $radii;
|
43
|
+
}
|
44
|
+
|
45
|
+
@mixin border-left-radius($radii) {
|
46
|
+
border-bottom-left-radius: $radii;
|
47
|
+
border-top-left-radius: $radii;
|
48
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Arglist} $vals
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include border-style(dashed null solid);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// border-bottom-style: solid;
|
16
|
+
/// border-top-style: dashed;
|
17
|
+
/// }
|
18
|
+
///
|
19
|
+
/// @require {mixin} directional-property
|
20
|
+
///
|
21
|
+
/// @output `border-style`
|
22
|
+
|
23
|
+
@mixin border-style($vals...) {
|
24
|
+
@include directional-property(border, style, $vals...);
|
25
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Arglist} $vals
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include border-width(1em null 20px);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// border-bottom-width: 20px;
|
16
|
+
/// border-top-width: 1em;
|
17
|
+
/// }
|
18
|
+
///
|
19
|
+
/// @require {mixin} directional-property
|
20
|
+
///
|
21
|
+
/// @output `border-width`
|
22
|
+
|
23
|
+
@mixin border-width($vals...) {
|
24
|
+
@include directional-property(border, width, $vals...);
|
25
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`.
|
4
|
+
///
|
5
|
+
/// @example scss - Usage
|
6
|
+
/// #{$all-buttons} {
|
7
|
+
/// background-color: #f00;
|
8
|
+
/// }
|
9
|
+
///
|
10
|
+
/// #{$all-buttons-focus},
|
11
|
+
/// #{$all-buttons-hover} {
|
12
|
+
/// background-color: #0f0;
|
13
|
+
/// }
|
14
|
+
///
|
15
|
+
/// #{$all-buttons-active} {
|
16
|
+
/// background-color: #00f;
|
17
|
+
/// }
|
18
|
+
///
|
19
|
+
/// @example css - CSS Output
|
20
|
+
/// button,
|
21
|
+
/// input[type="button"],
|
22
|
+
/// input[type="reset"],
|
23
|
+
/// input[type="submit"] {
|
24
|
+
/// background-color: #f00;
|
25
|
+
/// }
|
26
|
+
///
|
27
|
+
/// button:focus,
|
28
|
+
/// input[type="button"]:focus,
|
29
|
+
/// input[type="reset"]:focus,
|
30
|
+
/// input[type="submit"]:focus,
|
31
|
+
/// button:hover,
|
32
|
+
/// input[type="button"]:hover,
|
33
|
+
/// input[type="reset"]:hover,
|
34
|
+
/// input[type="submit"]:hover {
|
35
|
+
/// background-color: #0f0;
|
36
|
+
/// }
|
37
|
+
///
|
38
|
+
/// button:active,
|
39
|
+
/// input[type="button"]:active,
|
40
|
+
/// input[type="reset"]:active,
|
41
|
+
/// input[type="submit"]:active {
|
42
|
+
/// background-color: #00f;
|
43
|
+
/// }
|
44
|
+
///
|
45
|
+
/// @require assign-inputs
|
46
|
+
///
|
47
|
+
/// @type List
|
48
|
+
///
|
49
|
+
/// @todo Remove double assigned variables (Lines 59–62) in v5.0.0
|
50
|
+
|
51
|
+
$buttons-list: 'button',
|
52
|
+
'input[type="button"]',
|
53
|
+
'input[type="reset"]',
|
54
|
+
'input[type="submit"]';
|
55
|
+
|
56
|
+
$all-buttons: assign-inputs($buttons-list);
|
57
|
+
$all-buttons-active: assign-inputs($buttons-list, active);
|
58
|
+
$all-buttons-focus: assign-inputs($buttons-list, focus);
|
59
|
+
$all-buttons-hover: assign-inputs($buttons-list, hover);
|
60
|
+
|
61
|
+
$all-button-inputs: $all-buttons;
|
62
|
+
$all-button-inputs-active: $all-buttons-active;
|
63
|
+
$all-button-inputs-focus: $all-buttons-focus;
|
64
|
+
$all-button-inputs-hover: $all-buttons-hover;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides an easy way to include a clearfix for containing floats.
|
4
|
+
///
|
5
|
+
/// @link http://cssmojo.com/latest_new_clearfix_so_far/
|
6
|
+
///
|
7
|
+
/// @example scss - Usage
|
8
|
+
/// .element {
|
9
|
+
/// @include clearfix;
|
10
|
+
/// }
|
11
|
+
///
|
12
|
+
/// @example css - CSS Output
|
13
|
+
/// .element::after {
|
14
|
+
/// clear: both;
|
15
|
+
/// content: "";
|
16
|
+
/// display: table;
|
17
|
+
/// }
|
18
|
+
|
19
|
+
@mixin clearfix {
|
20
|
+
&::after {
|
21
|
+
clear: both;
|
22
|
+
content: "";
|
23
|
+
display: table;
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Truncates text and adds an ellipsis to represent overflow.
|
4
|
+
///
|
5
|
+
/// @param {Number} $width [100%]
|
6
|
+
/// Max-width for the string to respect before being truncated
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include ellipsis;
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// display: inline-block;
|
16
|
+
/// max-width: 100%;
|
17
|
+
/// overflow: hidden;
|
18
|
+
/// text-overflow: ellipsis;
|
19
|
+
/// white-space: nowrap;
|
20
|
+
/// word-wrap: normal;
|
21
|
+
/// }
|
22
|
+
|
23
|
+
@mixin ellipsis($width: 100%) {
|
24
|
+
display: inline-block;
|
25
|
+
max-width: $width;
|
26
|
+
overflow: hidden;
|
27
|
+
text-overflow: ellipsis;
|
28
|
+
white-space: nowrap;
|
29
|
+
word-wrap: normal;
|
30
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Georgia font stack.
|
4
|
+
///
|
5
|
+
/// @type List
|
6
|
+
|
7
|
+
$georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif;
|
8
|
+
|
9
|
+
/// Helvetica font stack.
|
10
|
+
///
|
11
|
+
/// @type List
|
12
|
+
|
13
|
+
$helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
|
14
|
+
|
15
|
+
/// Lucida Grande font stack.
|
16
|
+
///
|
17
|
+
/// @type List
|
18
|
+
|
19
|
+
$lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif;
|
20
|
+
|
21
|
+
/// Monospace font stack.
|
22
|
+
///
|
23
|
+
/// @type List
|
24
|
+
|
25
|
+
$monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace;
|
26
|
+
|
27
|
+
/// Verdana font stack.
|
28
|
+
///
|
29
|
+
/// @type List
|
30
|
+
|
31
|
+
$verdana: "Verdana", "Geneva", sans-serif;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied.
|
2
|
+
///
|
3
|
+
/// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement
|
4
|
+
///
|
5
|
+
/// @example scss - Usage
|
6
|
+
/// .element {
|
7
|
+
/// @include hide-text;
|
8
|
+
/// }
|
9
|
+
///
|
10
|
+
/// @example css - CSS Output
|
11
|
+
/// .element {
|
12
|
+
/// overflow: hidden;
|
13
|
+
/// text-indent: 101%;
|
14
|
+
/// white-space: nowrap;
|
15
|
+
/// }
|
16
|
+
///
|
17
|
+
/// @todo Remove height argument in v5.0.0
|
18
|
+
|
19
|
+
@mixin hide-text($height: null) {
|
20
|
+
overflow: hidden;
|
21
|
+
text-indent: 101%;
|
22
|
+
white-space: nowrap;
|
23
|
+
|
24
|
+
@if $height {
|
25
|
+
@warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0";
|
26
|
+
}
|
27
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Arglist} $vals
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include margin(null 10px 3em 20vh);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// margin-bottom: 3em;
|
16
|
+
/// margin-left: 20vh;
|
17
|
+
/// margin-right: 10px;
|
18
|
+
/// }
|
19
|
+
///
|
20
|
+
/// @require {mixin} directional-property
|
21
|
+
///
|
22
|
+
/// @output `margin`
|
23
|
+
|
24
|
+
@mixin margin($vals...) {
|
25
|
+
@include directional-property(margin, false, $vals...);
|
26
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Arglist} $vals
|
6
|
+
/// List of arguments
|
7
|
+
///
|
8
|
+
/// @example scss - Usage
|
9
|
+
/// .element {
|
10
|
+
/// @include padding(12vh null 10px 5%);
|
11
|
+
/// }
|
12
|
+
///
|
13
|
+
/// @example css - CSS Output
|
14
|
+
/// .element {
|
15
|
+
/// padding-bottom: 10px;
|
16
|
+
/// padding-left: 5%;
|
17
|
+
/// padding-top: 12vh;
|
18
|
+
/// }
|
19
|
+
///
|
20
|
+
/// @require {mixin} directional-property
|
21
|
+
///
|
22
|
+
/// @output `padding`
|
23
|
+
|
24
|
+
@mixin padding($vals...) {
|
25
|
+
@include directional-property(padding, false, $vals...);
|
26
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side.
|
4
|
+
///
|
5
|
+
/// @param {Position} $position [relative]
|
6
|
+
/// A CSS position value
|
7
|
+
///
|
8
|
+
/// @param {Arglist} $coordinates [null null null null]
|
9
|
+
/// List of values that correspond to the 4-value syntax for the edges of a box
|
10
|
+
///
|
11
|
+
/// @example scss - Usage
|
12
|
+
/// .element {
|
13
|
+
/// @include position(absolute, 0 null null 10em);
|
14
|
+
/// }
|
15
|
+
///
|
16
|
+
/// @example css - CSS Output
|
17
|
+
/// .element {
|
18
|
+
/// left: 10em;
|
19
|
+
/// position: absolute;
|
20
|
+
/// top: 0;
|
21
|
+
/// }
|
22
|
+
///
|
23
|
+
/// @require {function} is-length
|
24
|
+
/// @require {function} unpack
|
25
|
+
|
26
|
+
@mixin position($position: relative, $coordinates: null null null null) {
|
27
|
+
@if type-of($position) == list {
|
28
|
+
$coordinates: $position;
|
29
|
+
$position: relative;
|
30
|
+
}
|
31
|
+
|
32
|
+
$coordinates: unpack($coordinates);
|
33
|
+
|
34
|
+
$offsets: (
|
35
|
+
top: nth($coordinates, 1),
|
36
|
+
right: nth($coordinates, 2),
|
37
|
+
bottom: nth($coordinates, 3),
|
38
|
+
left: nth($coordinates, 4)
|
39
|
+
);
|
40
|
+
|
41
|
+
position: $position;
|
42
|
+
|
43
|
+
@each $offset, $value in $offsets {
|
44
|
+
@if is-length($value) {
|
45
|
+
#{$offset}: $value;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,66 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/// A mixin for generating vendor prefixes on non-standardized properties.
|
4
|
+
///
|
5
|
+
/// @param {String} $property
|
6
|
+
/// Property to prefix
|
7
|
+
///
|
8
|
+
/// @param {*} $value
|
9
|
+
/// Value to use
|
10
|
+
///
|
11
|
+
/// @param {List} $prefixes
|
12
|
+
/// Prefixes to define
|
13
|
+
///
|
14
|
+
/// @example scss - Usage
|
15
|
+
/// .element {
|
16
|
+
/// @include prefixer(border-radius, 10px, webkit ms spec);
|
17
|
+
/// }
|
18
|
+
///
|
19
|
+
/// @example css - CSS Output
|
20
|
+
/// .element {
|
21
|
+
/// -webkit-border-radius: 10px;
|
22
|
+
/// -moz-border-radius: 10px;
|
23
|
+
/// border-radius: 10px;
|
24
|
+
/// }
|
25
|
+
///
|
26
|
+
/// @require {variable} $prefix-for-webkit
|
27
|
+
/// @require {variable} $prefix-for-mozilla
|
28
|
+
/// @require {variable} $prefix-for-microsoft
|
29
|
+
/// @require {variable} $prefix-for-opera
|
30
|
+
/// @require {variable} $prefix-for-spec
|
31
|
+
|
32
|
+
@mixin prefixer($property, $value, $prefixes) {
|
33
|
+
@each $prefix in $prefixes {
|
34
|
+
@if $prefix == webkit {
|
35
|
+
@if $prefix-for-webkit {
|
36
|
+
-webkit-#{$property}: $value;
|
37
|
+
}
|
38
|
+
} @else if $prefix == moz {
|
39
|
+
@if $prefix-for-mozilla {
|
40
|
+
-moz-#{$property}: $value;
|
41
|
+
}
|
42
|
+
} @else if $prefix == ms {
|
43
|
+
@if $prefix-for-microsoft {
|
44
|
+
-ms-#{$property}: $value;
|
45
|
+
}
|
46
|
+
} @else if $prefix == o {
|
47
|
+
@if $prefix-for-opera {
|
48
|
+
-o-#{$property}: $value;
|
49
|
+
}
|
50
|
+
} @else if $prefix == spec {
|
51
|
+
@if $prefix-for-spec {
|
52
|
+
#{$property}: $value;
|
53
|
+
}
|
54
|
+
} @else {
|
55
|
+
@warn "Unrecognized prefix: #{$prefix}";
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
@mixin disable-prefix-for-all() {
|
61
|
+
$prefix-for-webkit: false !global;
|
62
|
+
$prefix-for-mozilla: false !global;
|
63
|
+
$prefix-for-microsoft: false !global;
|
64
|
+
$prefix-for-opera: false !global;
|
65
|
+
$prefix-for-spec: false !global;
|
66
|
+
}
|