230 lines
7.6 KiB
JavaScript
230 lines
7.6 KiB
JavaScript
module.exports = function (grunt) {
|
|
|
|
require('load-grunt-tasks')(grunt);
|
|
|
|
grunt.initConfig({
|
|
jshint: {
|
|
all: [
|
|
'assets/src/js/*.js',
|
|
'!assets/src/js/vendors/*.js'
|
|
]
|
|
},
|
|
uglify: {
|
|
all: {
|
|
files: {
|
|
'assets/dist/js/thelia.min.js': 'assets/src/js/thelia.js'
|
|
}
|
|
}
|
|
},
|
|
less: {
|
|
all: {
|
|
options: {
|
|
paths: 'assets/src/css'
|
|
},
|
|
files: {
|
|
'assets/src/css/thelia.css': 'assets/src/less/thelia.less',
|
|
'assets/dist/css/thelia.min.css': 'assets/src/less/thelia.less'
|
|
}
|
|
}
|
|
},
|
|
autoprefixer: {
|
|
options: {
|
|
browsers: ['last 2 versions', 'ie 8', 'ie 9']
|
|
},
|
|
all: {
|
|
src: 'assets/src/css/thelia.css'
|
|
}
|
|
},
|
|
cssmin: {
|
|
target: {
|
|
files: {
|
|
'assets/dist/css/thelia.min.css': 'assets/src/css/thelia.css',
|
|
'assets/dist/css/custom.min.css': 'assets/src/css/custom.css'
|
|
}
|
|
}
|
|
},
|
|
imagemin: {
|
|
all:{
|
|
files: [{
|
|
expand: true,
|
|
cwd: 'assets/src/img',
|
|
src: ['**/*.{png,jpg,gif,svg,ico}'],
|
|
dest: 'assets/dist/img'
|
|
}]
|
|
}
|
|
},
|
|
copy: {
|
|
js: {
|
|
files: [
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/js/vendors',
|
|
src: 'bower_components/html5shiv/dist/html5shiv.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/js/vendors',
|
|
src: 'bower_components/html5shiv/dist/html5shiv.min.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/js/vendors',
|
|
src: 'bower_components/respond/src/respond.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/js/vendors',
|
|
src: 'bower_components/respond/dest/respond.min.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/js/vendors',
|
|
src: 'bower_components/jquery/dist/jquery.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/js/vendors',
|
|
src: 'bower_components/jquery/dist/jquery.min.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/js/vendors',
|
|
src: 'bower_components/bootstrap/dist/js/bootstrap.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/js/vendors',
|
|
src: 'bower_components/bootstrap/dist/js/bootstrap.min.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/js/vendors',
|
|
src: 'bower_components/bootbox/bootbox.js'
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/js/vendors',
|
|
src: 'bower_components/bootbox/bootbox.js'
|
|
}
|
|
]
|
|
},
|
|
fonts: {
|
|
files: [
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/fonts/bootstrap',
|
|
src: ['bower_components/bootstrap/fonts/*.*']
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/fonts/bootstrap',
|
|
src: ['bower_components/bootstrap/fonts/*.*']
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/fonts/fontawesome',
|
|
src: ['bower_components/fontawesome/fonts/*.*']
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/fonts/fontawesome',
|
|
src: ['bower_components/fontawesome/fonts/*.*']
|
|
}
|
|
]
|
|
},
|
|
less: {
|
|
files: [
|
|
{
|
|
expand: true,
|
|
flatten: false,
|
|
dest: 'assets/src/less/vendors/bootstrap',
|
|
cwd: 'bower_components/bootstrap/less',
|
|
src:['**/*.less']
|
|
},
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/src/less/vendors/fontawesome',
|
|
src: ['bower_components/fontawesome/less/*.less']
|
|
}
|
|
]
|
|
},
|
|
images: {
|
|
files: [
|
|
{
|
|
expand: true,
|
|
flatten: true,
|
|
dest: 'assets/dist/img',
|
|
src:['assets/src/img/**/*.{png,jpg,gif,svg,ico}']
|
|
}
|
|
]
|
|
}
|
|
},
|
|
csscount: {
|
|
dev: {
|
|
src: [
|
|
'assets/src/css/thelia.css',
|
|
'assets/dist/css/thelia.min.css'
|
|
]
|
|
}
|
|
},
|
|
watch: {
|
|
html: {
|
|
files: ['*.html', '*.tpl'],
|
|
options: {
|
|
spawn: false,
|
|
livereload: true
|
|
}
|
|
},
|
|
less: {
|
|
files: ['assets/src/less/**/*.less'],
|
|
tasks: ['less'],
|
|
options: {
|
|
spawn: false,
|
|
livereload: true
|
|
}
|
|
},
|
|
cssmin: {
|
|
files: ['assets/src/css/thelia.css', 'assets/src/css/custom.css'],
|
|
tasks: ['autoprefixer', 'cssmin'],
|
|
options: {
|
|
spawn: false,
|
|
livereload: true
|
|
}
|
|
},
|
|
js: {
|
|
files: ['assets/src/js/*.js'],
|
|
tasks: ['jshint', 'uglify'],
|
|
options: {
|
|
spawn: false,
|
|
livereload: true
|
|
}
|
|
},
|
|
img:{
|
|
files: ['assets/src/img/**'],
|
|
tasks: ['imagemin'],
|
|
options: {
|
|
spawn: false,
|
|
livereload: true
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
grunt.registerTask('default', ['copy', 'jshint', 'uglify', 'less', 'autoprefixer', 'cssmin', 'imagemin']);
|
|
|
|
} |