Skip to content
Snippets Groups Projects
Commit 986beebb authored by Ryan Dee's avatar Ryan Dee
Browse files

Update 4.1- and 5.0-specific tasks in Gruntfile

- Restore 4.1-specific Less tasks in Gruntfile
- Append ‘-5.0’ to CSS files compiled from Sass
parent 50719aea
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,8 @@ var fs = require('fs'); ...@@ -3,6 +3,8 @@ var fs = require('fs');
const sass = require('node-sass'); const sass = require('node-sass');
module.exports = function (grunt) { module.exports = function (grunt) {
var lessDir = 'www/less';
var lessVendorDir = lessDir + '/lib';
var sassDir = 'www/scss'; var sassDir = 'www/scss';
// var sassVendorDir = sassDir + '/mixins'; // var sassVendorDir = sassDir + '/mixins';
var cssDir = 'www/css'; var cssDir = 'www/css';
...@@ -17,6 +19,16 @@ module.exports = function (grunt) { ...@@ -17,6 +19,16 @@ module.exports = function (grunt) {
jsDir + '/search.js', jsDir + '/search.js',
]; ];
var wdnMixinLibBaseUrl = 'https://raw.githubusercontent.com/unl/wdntemplates/4.1/wdn/templates_4.1/less/_mixins/';
var wdnMixins = [
'breakpoints.less',
'colors.less',
'fonts.less',
];
var allMixinsExist = every(wdnMixins, function(value) {
return fs.existsSync(lessVendorDir + '/' + value);
});
// TODO: Import DCF and UNLedu 5.0 mixins and variables // TODO: Import DCF and UNLedu 5.0 mixins and variables
// var dcfMixinLibBaseUrl = 'https://raw.githubusercontent.com/d-c-n/dcf/master/assets/dist/scss/mixins/'; // var dcfMixinLibBaseUrl = 'https://raw.githubusercontent.com/d-c-n/dcf/master/assets/dist/scss/mixins/';
// var dcfMixins = [ // var dcfMixins = [
...@@ -29,31 +41,55 @@ module.exports = function (grunt) { ...@@ -29,31 +41,55 @@ module.exports = function (grunt) {
// return fs.existsSync(sassVendorDir + '/' + value); // return fs.existsSync(sassVendorDir + '/' + value);
// }); // });
var lessFiles = {};
cssFiles.forEach(function(file) {
lessFiles[cssDir + '/' + file + '.css'] = lessDir + '/' + file + '.less';
});
var sassFiles = {}; var sassFiles = {};
cssFiles.forEach(function(file) { cssFiles.forEach(function(file) {
sassFiles[cssDir + '/' + file + '.css'] = sassDir + '/' + file + '.scss'; sassFiles[cssDir + '/' + file + '-5.0.css'] = sassDir + '/' + file + '.scss';
}); });
var builtJsFiles = {}; var builtJsFiles = {};
builtJsFiles[jsDir + '/search.min.js'] = jsFiles; builtJsFiles[jsDir + '/search.min.js'] = jsFiles;
// var autoprefixPlugin = new (require('less-plugin-autoprefix'))({browsers: ["last 2 versions"]}); var autoprefixPlugin = new (require('less-plugin-autoprefix'))({browsers: ["last 2 versions"]});
// var cleanCssPlugin = new (require('less-plugin-clean-css'))(); var cleanCssPlugin = new (require('less-plugin-clean-css'))();
// load all grunt tasks matching the ['grunt-*', '@*/grunt-*'] patterns // load all grunt tasks matching the ['grunt-*', '@*/grunt-*'] patterns
require('load-grunt-tasks')(grunt); require('load-grunt-tasks')(grunt);
grunt.initConfig({ grunt.initConfig({
// 'curl-dir': { 'curl-dir': {
'less-libs': {
src: wdnMixins.map(function(file) {
return wdnMixinLibBaseUrl + file;
}),
dest: lessVendorDir
}
// 'dcf-mixins': { // 'dcf-mixins': {
// src: dcfMixins.map(function(file) { // src: dcfMixins.map(function(file) {
// return dcfMixinLibBaseUrl + file; // return dcfMixinLibBaseUrl + file;
// }), // }),
// dest: sassVendorDir // dest: sassVendorDir
// } // }
// // TODO: add UNLedu 5.0 mixins // TODO: add UNLedu 5.0 mixins
// }, },
less: {
all: {
files: lessFiles,
options: {
paths: [lessDir],
plugins: [
autoprefixPlugin,
cleanCssPlugin
]
}
}
},
sass: { sass: {
all: { all: {
...@@ -121,12 +157,17 @@ module.exports = function (grunt) { ...@@ -121,12 +157,17 @@ module.exports = function (grunt) {
}, },
clean: { clean: {
lessCss: Object.keys(lessFiles).concat(lessVendorDir),
// css: Object.keys(sassFiles).concat(sassVendorDir), // css: Object.keys(sassFiles).concat(sassVendorDir),
css: Object.keys(sassFiles), sassCss: Object.keys(sassFiles),
js: Object.keys(builtJsFiles).concat(jsDir + '/**/*.map') js: Object.keys(builtJsFiles).concat(jsDir + '/**/*.map')
}, },
watch: { watch: {
less: {
files: lessDir + '/**/*.less',
tasks: ['less']
},
sass: { sass: {
files: sassDir + '/**/*.scss', files: sassDir + '/**/*.scss',
tasks: ['sass', 'postcss'] tasks: ['sass', 'postcss']
...@@ -138,9 +179,9 @@ module.exports = function (grunt) { ...@@ -138,9 +179,9 @@ module.exports = function (grunt) {
// establish grunt default // establish grunt default
var defaultTasks = ['sass', 'postcss', 'uglify', 'requirejs']; var defaultTasks = ['sass', 'postcss', 'uglify', 'requirejs'];
var localTasks = defaultTasks.slice(); var localTasks = defaultTasks.slice();
// if (!allMixinsExist) { if (!allMixinsExist) {
// defaultTasks.unshift('curl-dir'); defaultTasks.unshift('curl-dir');
// } }
grunt.registerTask('default', defaultTasks); grunt.registerTask('default', defaultTasks);
grunt.registerTask('all-local', localTasks); grunt.registerTask('all-local', localTasks);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment