2014-08-13 03:01:38 +02:00
|
|
|
module.exports = function(grunt) {
|
|
|
|
|
|
|
|
// Project configuration.
|
|
|
|
grunt.initConfig({
|
|
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
|
|
concat: {
|
|
|
|
jquery: {
|
|
|
|
files: {
|
|
|
|
'dist/js/jquery.min.js': ['bower_components/jquery/dist/jquery.min.js'],
|
2014-08-13 04:35:56 +02:00
|
|
|
'dist/js/jquery.js': ['bower_components/jquery/dist/jquery.js'],
|
2014-08-15 08:45:15 +02:00
|
|
|
'dist/js/<%= pkg.name %>.js': ['js/<%= pkg.name %>.js'],
|
2014-08-13 04:35:56 +02:00
|
|
|
'dist/js/cbpAnimatedHeader.js': ['js/cbpAnimatedHeader.js'],
|
|
|
|
'dist/js/classie.js': ['js/classie.js'],
|
|
|
|
'dist/js/contact_me.js': ['js/contact_me.js'],
|
|
|
|
'dist/js/jqBootstrapValidation.js': ['js/jqBootstrapValidation.js']
|
2014-08-13 03:01:38 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
bootstrap: {
|
|
|
|
files: {
|
|
|
|
'dist/js/bootstrap.min.js': ['bower_components/bootstrap/dist/js/bootstrap.min.js'],
|
|
|
|
'dist/js/bootstrap.js': ['bower_components/bootstrap/dist/js/bootstrap.js'],
|
|
|
|
'dist/css/bootstrap.min.css': ['bower_components/bootstrap/dist/css/bootstrap.min.css'],
|
|
|
|
'dist/css/bootstrap.css': ['bower_components/bootstrap/dist/css/bootstrap.css'],
|
2014-08-13 05:25:05 +02:00
|
|
|
'dist/fonts/glyphicons-halflings-regular.eot': ['bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot'],
|
|
|
|
'dist/fonts/glyphicons-halflings-regular.svg': ['bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg'],
|
|
|
|
'dist/fonts/glyphicons-halflings-regular.ttf': ['bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf'],
|
|
|
|
'dist/fonts/glyphicons-halflings-regular.woff': ['bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff'],
|
2014-08-13 03:01:38 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
copy: {
|
|
|
|
main: {
|
|
|
|
src: ['*.html', 'mail/**'],
|
|
|
|
dest: 'dist/',
|
|
|
|
},
|
|
|
|
},
|
2014-08-13 04:35:56 +02:00
|
|
|
less: {
|
|
|
|
development: {
|
|
|
|
options: {
|
|
|
|
paths: ["css"]
|
|
|
|
},
|
|
|
|
files: {
|
2014-08-15 08:45:15 +02:00
|
|
|
"dist/css/<%= pkg.name %>.css": "less/<%= pkg.name %>.less"
|
2014-08-13 04:35:56 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
production: {
|
|
|
|
options: {
|
|
|
|
paths: ["css"],
|
|
|
|
cleancss: true
|
|
|
|
},
|
|
|
|
files: {
|
2014-08-15 08:45:15 +02:00
|
|
|
"dist/css/<%= pkg.name %>.css": "less/<%= pkg.name %>.less"
|
2014-08-13 04:35:56 +02:00
|
|
|
}
|
|
|
|
}
|
2014-08-13 05:15:51 +02:00
|
|
|
},
|
|
|
|
imagemin: {
|
|
|
|
dynamic: {
|
|
|
|
files: [{
|
|
|
|
expand: true,
|
|
|
|
cwd: 'img/',
|
|
|
|
src: ['**/*.{png,jpg,gif}'],
|
|
|
|
dest: 'dist/img/'
|
|
|
|
}]
|
|
|
|
}
|
2014-08-15 08:45:15 +02:00
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
scripts: {
|
|
|
|
files: ['js/*.js'],
|
|
|
|
tasks: ['concat'],
|
|
|
|
options: {
|
|
|
|
spawn: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
css: {
|
|
|
|
files: ['less/*.less'],
|
|
|
|
tasks: ['less'],
|
|
|
|
options: {
|
|
|
|
spawn: false,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
html: {
|
|
|
|
files: ['*.html', 'mail/**'],
|
|
|
|
tasks: ['copy'],
|
|
|
|
options: {
|
|
|
|
spawn: false,
|
|
|
|
}
|
|
|
|
},
|
2014-08-13 04:35:56 +02:00
|
|
|
}
|
2014-08-13 03:01:38 +02:00
|
|
|
});
|
|
|
|
|
2014-08-14 20:52:45 +02:00
|
|
|
// Load the plugins.
|
2014-08-13 03:01:38 +02:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-copy');
|
2014-08-13 04:35:56 +02:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-less');
|
2014-08-13 05:15:51 +02:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-imagemin');
|
2014-08-15 08:45:15 +02:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
2014-08-13 03:01:38 +02:00
|
|
|
|
|
|
|
// Default task(s).
|
2014-08-13 05:15:51 +02:00
|
|
|
grunt.registerTask('default', ['concat', 'copy', 'less', 'imagemin']);
|
2014-08-15 08:45:15 +02:00
|
|
|
grunt.registerTask('build-css', ['less']);
|
|
|
|
|
2014-08-13 03:01:38 +02:00
|
|
|
|
|
|
|
};
|