Use Jekyll native Sass/SCSS preprocessor

- Move .scss files to default `_sass` folder
- Configure Sass/SCSS in `_config.yml`
- Run .scss files through Autoprefixer
- Remove unnecessary npm scripts for building CSS
- Close #333
This commit is contained in:
Michael Rose 2016-08-08 16:01:37 -04:00
parent b6be3aa0c2
commit 4cc9fcb40a
111 changed files with 127 additions and 85 deletions

View file

@ -145,6 +145,12 @@ kramdown:
enable_coderay: false enable_coderay: false
# Sass/SCSS
sass:
sass_dir: _sass
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Outputting # Outputting
permalink: /:categories/:title/ permalink: /:categories/:title/
paginate: 5 # amount of posts to show paginate: 5 # amount of posts to show

View file

@ -2,6 +2,15 @@
ANIMATIONS ANIMATIONS
========================================================================== */ ========================================================================== */
@-webkit-keyframes intro {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes intro { @keyframes intro {
0% { 0% {
opacity: 0; opacity: 0;

View file

@ -41,7 +41,7 @@
} }
} }
// remove border /* remove border*/
.page__content { .page__content {
.archive__item-title { .archive__item-title {
@ -129,8 +129,8 @@
} }
@include breakpoint($medium) { @include breakpoint($medium) {
margin-left: 0; // reset before mixin does its thing margin-left: 0; /* reset before mixin does its thing*/
margin-right: 0; // reset before mixin does its thing margin-right: 0; /* reset before mixin does its thing*/
@include gallery(2.5 of 10); @include gallery(2.5 of 10);
.archive__item-teaser { .archive__item-teaser {

View file

@ -129,7 +129,7 @@ tt, code, kbd, samp, pre {
} }
pre { pre {
overflow-x: auto; // add scrollbars to wide code blocks overflow-x: auto; /* add scrollbars to wide code blocks*/
} }
p > code, p > code,
@ -147,7 +147,7 @@ td > code {
&:before, &:after { &:before, &:after {
letter-spacing: -0.2em; letter-spacing: -0.2em;
content: "\00a0"; // non-breaking space content: "\00a0"; /* non-breaking space*/
} }
} }
@ -179,8 +179,11 @@ li ol {
/* Figures and images */ /* Figures and images */
figure { figure {
display: -webkit-box;
display: flex; display: flex;
-webkit-box-pack: justify;
justify-content: space-between; justify-content: space-between;
-webkit-box-align: start;
align-items: flex-start; align-items: flex-start;
flex-wrap: wrap; flex-wrap: wrap;
margin: 2em 0; margin: 2em 0;
@ -194,6 +197,7 @@ figure {
img { img {
width: 100%; width: 100%;
border-radius: $border-radius; border-radius: $border-radius;
-webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
} }
@ -240,6 +244,7 @@ figcaption {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
border-bottom: 1px solid $light-gray; border-bottom: 1px solid $light-gray;
-webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
&:hover { &:hover {
@ -305,5 +310,6 @@ nav {
========================================================================== */ ========================================================================== */
b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn, .highlight, .archive__item-teaser { b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, tr, td, form button, input[type="submit"], .btn, .highlight, .archive__item-teaser {
-webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
} }

View file

@ -31,7 +31,7 @@
} }
.icon + .hidden { .icon + .hidden {
margin-left: -0.5em; // override for hidden text margin-left: -0.5em; /* override for hidden text*/
} }
/* fills width of parent container */ /* fills width of parent container */
@ -49,7 +49,7 @@
&--inverse { &--inverse {
color: $gray !important; color: $gray !important;
border: 1px solid $light-gray !important; // override border: 1px solid $light-gray !important; /* override*/
background-color: #fff; background-color: #fff;
&:hover { &:hover {
@ -61,7 +61,7 @@
/* light outline */ /* light outline */
&--light-outline { &--light-outline {
border: 1px solid #fff !important; // override border: 1px solid #fff !important; /* override*/
background-color: transparent; background-color: transparent;
} }
@ -111,7 +111,6 @@
pointer-events: none; pointer-events: none;
cursor: not-allowed; cursor: not-allowed;
filter: alpha(opacity=65); filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none; box-shadow: none;
opacity: 0.65; opacity: 0.65;
} }

View file

@ -14,7 +14,9 @@
/* sticky footer fix end */ /* sticky footer fix end */
margin-top: 3em; margin-top: 3em;
color: mix(#fff, $gray, 25%); color: mix(#fff, $gray, 25%);
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.45s;
animation-delay: 0.45s; animation-delay: 0.45s;
background-color: $lighter-gray; background-color: $lighter-gray;
border-top: 1px solid $light-gray; border-top: 1px solid $light-gray;

View file

@ -5,7 +5,9 @@
.masthead { .masthead {
position: relative; position: relative;
border-bottom: 1px solid $border-color; border-bottom: 1px solid $border-color;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.15s;
animation-delay: 0.15s; animation-delay: 0.15s;
z-index: 20; z-index: 20;

View file

@ -3,9 +3,9 @@
========================================================================== */ ========================================================================== */
%tab-focus { %tab-focus {
// Default /* Default*/
outline: thin dotted $warning-color; outline: thin dotted $warning-color;
// Webkit /* Webkit*/
outline: 5px auto $warning-color; outline: 5px auto $warning-color;
outline-offset: -2px; outline-offset: -2px;
} }
@ -23,21 +23,24 @@
Bourbon clearfix Bourbon clearfix
========================================================================== */ ========================================================================== */
// Provides an easy way to include a clearfix for containing floats. /*
// * Provides an easy way to include a clearfix for containing floats.
// @link http://cssmojo.com/latest_new_clearfix_so_far/ * link http://cssmojo.com/latest_new_clearfix_so_far/
// *
// @example scss - Usage * example scss - Usage
// .element { *
// @include clearfix; * .element {
// } * @include clearfix;
// * }
// @example css - CSS Output *
// .element::after { * example css - CSS Output
// clear: both; *
// content: ""; * .element::after {
// display: table; * clear: both;
// } * content: "";
* display: table;
* }
*/
@mixin clearfix { @mixin clearfix {
clear: both; clear: both;

View file

@ -14,7 +14,9 @@
padding-left: 2em; padding-left: 2em;
padding-right: 2em; padding-right: 2em;
font-family: $sans-serif; font-family: $sans-serif;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.30s;
animation-delay: 0.30s; animation-delay: 0.30s;
@include breakpoint($large) { @include breakpoint($large) {
@ -232,12 +234,17 @@
height: 4px; height: 4px;
background: mix(#fff, $primary-color, 50%); background: mix(#fff, $primary-color, 50%);
width: 100%; width: 100%;
-webkit-transition: $global-transition;
transition: $global-transition; transition: $global-transition;
transform: scaleX(0); // hide -webkit-transform: scaleX(0);
-ms-transform: scaleX(0);
transform: scaleX(0); /* hide*/
} }
&:hover:before { &:hover:before {
transform: scaleX(1); // reveal -webkit-transform: scaleX(1);
-ms-transform: scaleX(1);
transform: scaleX(1); /* reveal*/
} }
} }
} }
@ -414,7 +421,7 @@
font-weight: normal; font-weight: normal;
} }
// hide sub sub links on small screens /* hide sub sub links on small screens*/
li > ul li { li > ul li {
display: none; display: none;

View file

@ -11,34 +11,34 @@
*/ */
@mixin notice($notice-color) { @mixin notice($notice-color) {
margin: 2em 0 !important; // override margin: 2em 0 !important; /* override*/
padding: 1em; padding: 1em;
font-family: $global-font-family; font-family: $global-font-family;
font-size: $type-size-6 !important; font-size: $type-size-6 !important;
text-indent: initial; // override text-indent: initial; /* override*/
background-color: mix(#fff, $notice-color, 90%); background-color: mix(#fff, $notice-color, 90%);
border-radius: $border-radius; border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25); box-shadow: 0 1px 1px rgba($notice-color, 0.25);
h4 { h4 {
margin-top: 0 !important; // override margin-top: 0 !important; /* override*/
margin-bottom: 0.75em; margin-bottom: 0.75em;
} }
@at-root .page__content #{&} h4 { @at-root .page__content #{&} h4 {
// using at-root to override .page-content h4 font size /* using at-root to override .page-content h4 font size*/
margin-bottom: 0; margin-bottom: 0;
font-size: 1em; font-size: 1em;
} }
p { p {
&:last-child { &:last-child {
margin-bottom: 0 !important; // override margin-bottom: 0 !important; /* override*/
} }
} }
h4 + p { h4 + p {
// remove space above paragraphs that appear directly after notice headline /* remove space above paragraphs that appear directly after notice headline*/
margin-top: 0; margin-top: 0;
padding-top: 0; padding-top: 0;
} }
@ -57,7 +57,7 @@
ul { ul {
&:last-child { &:last-child {
margin-bottom: 0; // override margin-bottom: 0; /* override*/
} }
} }
} }

View file

@ -8,7 +8,9 @@
margin-top: 2em; margin-top: 2em;
padding-left: 1em; padding-left: 1em;
padding-right: 1em; padding-right: 1em;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.35s;
animation-delay: 0.35s; animation-delay: 0.35s;
@include breakpoint($x-large) { @include breakpoint($x-large) {
@ -63,7 +65,7 @@
p { p {
margin: 0 0 $indent-var; margin: 0 0 $indent-var;
// sibling indentation /* sibling indentation*/
@if $paragraph-indent == true { @if $paragraph-indent == true {
& + p { & + p {
text-indent: $indent-var; text-indent: $indent-var;
@ -111,7 +113,9 @@
position: relative; position: relative;
margin-bottom: 2em; margin-bottom: 2em;
@include clearfix; @include clearfix;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.25s;
animation-delay: 0.25s; animation-delay: 0.25s;
&--overlay { &--overlay {
@ -122,7 +126,9 @@
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
-webkit-animation: intro 0.3s both;
animation: intro 0.3s both; animation: intro 0.3s both;
-webkit-animation-delay: 0.25s;
animation-delay: 0.25s; animation-delay: 0.25s;
a { a {

View file

@ -24,6 +24,11 @@ body { margin: 0; }
/* Selected elements */ /* Selected elements */
::-moz-selection {
color: #fff;
background: #000;
}
::selection { ::selection {
color: #fff; color: #fff;
background: #000; background: #000;
@ -100,9 +105,9 @@ sub {
img { img {
/* Responsive images (ensure images don't scale beyond their parents) */ /* Responsive images (ensure images don't scale beyond their parents) */
max-width: 100%; // part 1: Set a maximum relative to the parent max-width: 100%; /* part 1: Set a maximum relative to the parent*/
width: auto\9; // IE7-8 need help adjusting responsive images width: auto\9; /* IE7-8 need help adjusting responsive images*/
height: auto; // part 2: Scale the height according to the width, otherwise you get stretching height: auto; /* part 2: Scale the height according to the width, otherwise you get stretching*/
vertical-align: middle; vertical-align: middle;
border: 0; border: 0;
@ -129,12 +134,12 @@ textarea {
button, button,
input { input {
*overflow: visible; // inner spacing ie IE6/7 *overflow: visible; /* inner spacing ie IE6/7*/
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
} }
button::-moz-focus-inner, button::-moz-focus-inner,
input::-moz-focus-inner { // inner padding and border oddities in FF3/4 input::-moz-focus-inner { /* inner padding and border oddities in FF3/4*/
padding: 0; padding: 0;
border: 0; border: 0;
} }
@ -143,8 +148,8 @@ button,
html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls html input[type="button"], // avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls
input[type="reset"], input[type="reset"],
input[type="submit"] { input[type="submit"] {
-webkit-appearance: button; // corrects inability to style clickable `input` types in iOS -webkit-appearance: button; /* corrects inability to style clickable `input` types in iOS*/
cursor: pointer; // improves usability and consistency of cursor style between image-type `input` and others cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/
} }
label, label,
@ -155,20 +160,20 @@ input[type="reset"],
input[type="submit"], input[type="submit"],
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
cursor: pointer; // improves usability and consistency of cursor style between image-type `input` and others cursor: pointer; /* improves usability and consistency of cursor style between image-type `input` and others*/
} }
input[type="search"] { // Appearance in Safari/Chrome input[type="search"] { /* Appearance in Safari/Chrome*/
box-sizing: content-box; box-sizing: content-box;
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button { input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none; // inner-padding issues in Chrome OSX, Safari 5 -webkit-appearance: none; /* inner-padding issues in Chrome OSX, Safari 5*/
} }
textarea { textarea {
overflow: auto; // remove vertical scrollbar in IE6-9 overflow: auto; /* remove vertical scrollbar in IE6-9*/
vertical-align: top; // readability and alignment cross-browser vertical-align: top; /* readability and alignment cross-browser*/
} }

View file

@ -13,6 +13,7 @@
@include breakpoint($large) { @include breakpoint($large) {
@include span(2 of 12); @include span(2 of 12);
opacity: 0.75; opacity: 0.75;
-webkit-transition: opacity 0.2s ease-in-out;
transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out;
&:hover { &:hover {

View file

@ -179,7 +179,7 @@ body:hover .visually-hidden button {
vertical-align: middle; vertical-align: middle;
} }
// social icons /* social icons*/
.social-icons { .social-icons {
.fa { .fa {
@ -295,6 +295,7 @@ body:hover .visually-hidden button {
height: $navicon-height; height: $navicon-height;
background: #fff; background: #fff;
margin: auto; margin: auto;
-webkit-transition: 0.3s;
transition: 0.3s; transition: 0.3s;
&:before, &:before,
@ -305,6 +306,7 @@ body:hover .visually-hidden button {
width: $navicon-width; width: $navicon-width;
height: $navicon-height; height: $navicon-height;
background: #fff; background: #fff;
-webkit-transition: 0.3s;
transition: 0.3s; transition: 0.3s;
} }
@ -318,21 +320,25 @@ body:hover .visually-hidden button {
} }
.close .navicon { .close .navicon {
// hide the middle line /* hide the middle line*/
background: transparent; background: transparent;
// overlay the lines by setting both their top values to 0 /* overlay the lines by setting both their top values to 0*/
&:before, &:after{ &:before, &:after{
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%; transform-origin: 50% 50%;
top: 0; top: 0;
width: $navicon-width; width: $navicon-width;
} }
// rotate the lines to form the x shape /* rotate the lines to form the x shape*/
&:before{ &:before{
-webkit-transform: rotate3d(0,0,1,45deg);
transform: rotate3d(0,0,1,45deg); transform: rotate3d(0,0,1,45deg);
} }
&:after{ &:after{
-webkit-transform: rotate3d(0,0,1,-45deg);
transform: rotate3d(0,0,1,-45deg); transform: rotate3d(0,0,1,-45deg);
} }
} }

Some files were not shown because too many files have changed in this diff Show more