* ES6-ify
* Use an array for the swatches
* Use `path`'s methods when dealing with paths
* Fix watch task livereload/open
* Copy only the theme's files and not everything
* Remove compress task since we use clean-css now
* Add @lodder/grunt-postcss
* Specify `precision: 6` for node-sass like upstream
* Add clean-css
* Update browserslistc config from upstream
* Remove engines version since the consumers of the package are not affected by the Node.js version
* Switch to explicitly using `grunt.config`'s methods
Using strictMath to prevent Less from trying to calculate stuff it's shouldn't calculate.
Example:
The following Less:
.small {
width: calc(~"100% / 12 * 6 - 40px");
}
will output the following CSS:
.small {
width: -webkit-calc(100% / 12 * 7 - 40px);
width: calc(100% / 12 * 7 - 40px);
}
which is as expected. The calculation can be performed at runtime.
But the minified version will be:
.small{width:-webkit-calc(18.33333333%);width:calc(18.33333333%)}
and that's something else (the absolute part, 40px, shouldn't be converted to something relative).
By using strictMath: true both the CSS and the minified CSS will contain the entire calculation.
Refactored less files to be more scss friendly
* Ensured no variables are used before assignment
* Removed interpolated variable usage with similar substitute
Added SCSS Grunt tasks
* convert_less - Converts theme less files to scss
* swatch_scss - Same as original swatch task, but using sass
* compress_scss - Same as original compress task, but using sass
Added dependencies for SCSS
Updated _config.yml so jekyll includes theme _bootswatch.scss and _variables.scss files
Added .sass-cache dir to .gitignore