afch-zhwp/Gruntfile.js
theopolisme ea18f73a6f Switch to LESS, build-based, more modular styling system
Run `grunt build` to build AFCH, or just use scripts/upload.py — this
will create all the necessary files in the /build directory, including
minified css based on the…

LESS files! That’s right, variables, nested selectors, and more. Expect
cleaner, tidier code…already switched much of it over.

Additionally, using LESS, our CSS selectors are much more specific,
pretty much 100% ensuring we’ll avoid future class/selector conflicts.

We now ALSO use a combination of classes and $afch.find() to ensure
that multiple AFCH instances can run at one time on a page.

Big commit, yay :)
2014-04-06 14:51:26 -05:00

89 lines
1.5 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*jshint node:true */
module.exports = function ( grunt ) {
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-jscs-checker' );
grunt.loadNpmTasks( 'grunt-contrib-less' );
grunt.loadNpmTasks( 'grunt-contrib-copy');
grunt.loadNpmTasks( 'grunt-contrib-clean' );
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
grunt.loadNpmTasks( 'grunt-autoprefixer' );
grunt.initConfig( {
copy: {
build: {
expand: true,
cwd: 'src',
src: [ '**', '!less/*' ],
dest: 'build'
}
},
clean: {
build: {
src: [ 'build' ]
},
styling: {
src: [ 'build/less' ]
}
},
less: {
options: {
cleancss: true
},
files: {
expand: true,
cwd: 'src',
src: [ 'less/*.less' ],
dest: 'build',
ext: '.css'
}
},
autoprefixer: {
build: {
expand: true,
cwd: 'build',
src: [ '**/*.css' ],
dest: 'build'
}
},
cssmin: {
build: {
files: {
'build/afch.css': [ 'build/**/*.css' ]
     }
    }
},
jshint: {
src: [ 'src/**/*.js' ]
},
jscs: {
src: [ 'src/**/*.js' ]
}
} );
grunt.registerTask(
'test',
'Tests files for code style and code quality.',
[ 'jshint', 'jscs' ]
);
grunt.registerTask( 'styling',
'Compiles LESS files to CSS and minifies them into one file.',
[ 'less', 'autoprefixer', 'cssmin', 'clean:styling' ]
);
grunt.registerTask(
'build',
'Tests files, moves them to the /build directory, and minifies CSS.',
[ 'clean:build', 'test', 'copy', 'styling' ]
);
grunt.registerTask( 'default', [ 'build' ] );
};