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
# Sass/SCSS
sass:
sass_dir: _sass
style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# Outputting
permalink: /:categories/:title/
paginate: 5 # amount of posts to show

View file

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

View file

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

View file

@ -129,7 +129,7 @@ tt, code, kbd, samp, pre {
}
pre {
overflow-x: auto; // add scrollbars to wide code blocks
overflow-x: auto; /* add scrollbars to wide code blocks*/
}
p > code,
@ -147,7 +147,7 @@ td > code {
&:before, &:after {
letter-spacing: -0.2em;
content: "\00a0"; // non-breaking space
content: "\00a0"; /* non-breaking space*/
}
}
@ -179,8 +179,11 @@ li ol {
/* Figures and images */
figure {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
align-items: flex-start;
flex-wrap: wrap;
margin: 2em 0;
@ -194,6 +197,7 @@ figure {
img {
width: 100%;
border-radius: $border-radius;
-webkit-transition: $global-transition;
transition: $global-transition;
}
@ -240,6 +244,7 @@ figcaption {
color: inherit;
text-decoration: none;
border-bottom: 1px solid $light-gray;
-webkit-transition: $global-transition;
transition: $global-transition;
&: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 {
-webkit-transition: $global-transition;
transition: $global-transition;
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -11,34 +11,34 @@
*/
@mixin notice($notice-color) {
margin: 2em 0 !important; // override
margin: 2em 0 !important; /* override*/
padding: 1em;
font-family: $global-font-family;
font-size: $type-size-6 !important;
text-indent: initial; // override
text-indent: initial; /* override*/
background-color: mix(#fff, $notice-color, 90%);
border-radius: $border-radius;
box-shadow: 0 1px 1px rgba($notice-color, 0.25);
h4 {
margin-top: 0 !important; // override
margin-top: 0 !important; /* override*/
margin-bottom: 0.75em;
}
@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;
font-size: 1em;
}
p {
&:last-child {
margin-bottom: 0 !important; // override
margin-bottom: 0 !important; /* override*/
}
}
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;
padding-top: 0;
}
@ -57,7 +57,7 @@
ul {
&:last-child {
margin-bottom: 0; // override
margin-bottom: 0; /* override*/
}
}
}

View file

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

View file

@ -24,6 +24,11 @@ body { margin: 0; }
/* Selected elements */
::-moz-selection {
color: #fff;
background: #000;
}
::selection {
color: #fff;
background: #000;
@ -100,9 +105,9 @@ sub {
img {
/* Responsive images (ensure images don't scale beyond their parents) */
max-width: 100%; // part 1: Set a maximum relative to the parent
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
max-width: 100%; /* part 1: Set a maximum relative to the parent*/
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*/
vertical-align: middle;
border: 0;
@ -129,12 +134,12 @@ textarea {
button,
input {
*overflow: visible; // inner spacing ie IE6/7
line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
*overflow: visible; /* inner spacing ie IE6/7*/
line-height: normal; /* FF3/4 have !important on line-height in UA stylesheet*/
}
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;
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
input[type="reset"],
input[type="submit"] {
-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
-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*/
}
label,
@ -155,20 +160,20 @@ input[type="reset"],
input[type="submit"],
input[type="radio"],
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;
-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
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 {
overflow: auto; // remove vertical scrollbar in IE6-9
vertical-align: top; // readability and alignment cross-browser
overflow: auto; /* remove vertical scrollbar in IE6-9*/
vertical-align: top; /* readability and alignment cross-browser*/
}

View file

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

View file

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