@@ -7,21 +7,68 @@ var gulp = require('gulp');
77// Gulp plugins
88var gutil = require ( 'gulp-util' ) ;
99var concat = require ( 'gulp-concat' ) ;
10+ var header = require ( 'gulp-header' ) ;
11+ var autoprefixer = require ( 'gulp-autoprefixer' ) ;
12+ var runSequence = require ( 'run-sequence' ) ;
13+ var minify = require ( 'gulp-minify-css' ) ;
14+ var rename = require ( 'gulp-rename' ) ;
1015
1116// Misc/global vars
1217var pkg = JSON . parse ( fs . readFileSync ( 'package.json' ) ) ;
1318var banner = [
19+ '@charset "UTF-8";\n' ,
1420 '/*!' ,
1521 ' * <%= name %> -<%= homepage %>' ,
1622 ' * Version - <%= version %>' ,
1723 ' * Licensed under the MIT license - http://opensource.org/licenses/MIT' ,
1824 ' *' ,
1925 ' * Copyright (c) <%= new Date().getFullYear() %> <%= author.name %>' ,
20- ' */' ,
26+ ' */\n\n'
2127] . join ( '\n' ) ;
28+ var activatedAnimations = activateAnimations ( ) ;
29+
30+ // ----------------------------
31+ // Gulp task definitions
32+ // ----------------------------
33+
34+ gulp . task ( 'default' , function ( ) {
35+ runSequence ( 'concatCSS' , 'addHeader' , 'prefixes' , 'minifyCSS' ) ;
36+ } ) ;
37+
38+ gulp . task ( 'concatCSS' , function ( ) {
39+ return gulp . src ( activatedAnimations )
40+ . pipe ( concat ( 'animate.css' ) )
41+ . pipe ( gulp . dest ( './' ) ) ;
42+ } ) ;
43+
44+ gulp . task ( 'addHeader' , function ( ) {
45+ return gulp . src ( 'animate.css' )
46+ . pipe ( header ( banner , pkg ) )
47+ . pipe ( gulp . dest ( './' ) ) ;
48+ } ) ;
49+
50+ gulp . task ( 'prefixes' , function ( ) {
51+ return gulp . src ( 'animate.css' )
52+ . pipe ( autoprefixer ( {
53+ browsers : [ 'last 2 versions' ] ,
54+ cascade : false
55+ } ) )
56+ . pipe ( gulp . dest ( './' ) ) ;
57+ } ) ;
58+
59+ gulp . task ( 'minifyCSS' , function ( ) {
60+ return gulp . src ( 'animate.css' )
61+ . pipe ( rename ( 'animate.min.css' ) )
62+ . pipe ( minify ( ) )
63+ . pipe ( gulp . dest ( './' ) ) ;
64+ } ) ;
65+
66+ // ----------------------------
67+ // Helpers/functions
68+ // ----------------------------
2269
2370// Read the config file and return an array of the animations to be activated
24- var activatedAnimations = function ( ) {
71+ function activateAnimations ( ) {
2572 var categories = JSON . parse ( fs . readFileSync ( 'animate-config.json' ) ) ,
2673 category , files , file ,
2774 target = [ 'source/_base.css' ] ,
@@ -48,13 +95,3 @@ var activatedAnimations = function () {
4895
4996 return target ;
5097} ;
51-
52- gulp . task ( 'default' , function ( ) {
53-
54- } ) ;
55-
56- gulp . task ( 'concatCSS' , function ( ) {
57- return gulp . src ( activatedAnimations )
58- . pipe ( concat ( 'animate.css' ) )
59- . pipe ( gulp . dest ( './' ) ) ;
60- } ) ;
0 commit comments