package.Gruntfile.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of owl.carousel Show documentation
Show all versions of owl.carousel Show documentation
Touch enabled jQuery plugin that lets you create beautiful responsive carousel slider.
The newest version!
/**
* Owl Carousel
*
* Bartosz Wojciechowski
*
* Copyright (c) 2014
* Licensed under the MIT license.
*/
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt
.initConfig({
pkg: grunt.file.readJSON('package.json'),
app: grunt.file.readJSON('_config.json'),
banner: '/**\n' + ' * Owl Carousel v<%= pkg.version %>\n'
+ ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n'
+ ' * Licensed under: <%= pkg.license %>\n' + ' */\n',
// assemble
assemble: {
options: {
flatten: false,
expand: true,
production: false,
assets: '<%= app.docs.dest %>/assets',
postprocess: require('pretty'),
// metadata
pkg: '<%= pkg %>',
app: '<%= app %>',
data: [ '<%= app.docs.src %>/data/*.{json,yml}' ],
// templates
partials: '<%= app.docs.templates %>/partials/*.hbs',
layoutdir: '<%= app.docs.layouts %>/',
// extensions
helpers: '<%= app.docs.src %>/helpers/*.js'
},
index: {
options: {
layout: 'home.hbs'
},
files: [ {
expand: true,
cwd: '<%= app.docs.pages %>/',
src: '*.hbs',
dest: '<%= app.docs.dest %>/'
} ]
},
demos: {
options: {
layout: 'demos.hbs'
},
files: [ {
expand: true,
cwd: '<%= app.docs.pages %>/demos/',
src: '*.hbs',
dest: '<%= app.docs.dest %>/demos'
} ]
},
docs: {
options: {
layout: 'docs.hbs'
},
files: [ {
expand: true,
cwd: '<%= app.docs.pages %>/docs/',
src: '*.hbs',
dest: '<%= app.docs.dest %>/docs'
} ]
}
},
// clean
clean: {
docs: [ '<%= app.docs.dest %>' ],
dist: [ 'dist' ]
},
// sass
sass: {
docs: {
options: {
outputStyle: 'compressed',
includePaths: [ '<%= app.docs.src %>/assets/scss/', 'node_modules/foundation-sites/scss' ]
},
files: {
'<%= app.docs.dest %>/assets/css/docs.theme.min.css': '<%= app.docs.src %>/assets/scss/docs.theme.scss'
}
},
dist: {
options: {
outputStyle: 'nested'
},
files: {
'dist/assets/<%= pkg.name %>.css': 'src/scss/<%= pkg.name %>.scss',
'dist/assets/owl.theme.default.css': 'src/scss/owl.theme.default.scss',
'dist/assets/owl.theme.green.css': 'src/scss/owl.theme.green.scss'
}
}
},
autoprefixer: {
options: {
browsers: [ 'last 2 versions', 'ie 7', 'ie 8', 'ie 9', 'ie 10', 'ie 11' ]
},
dist: {
files: {
'dist/assets/<%= pkg.name %>.css': 'dist/assets/<%= pkg.name %>.css',
'dist/assets/owl.theme.default.css': 'dist/assets/owl.theme.default.css',
'dist/assets/owl.theme.green.css': 'dist/assets/owl.theme.green.css'
}
}
},
concat: {
dist: {
files: {
'dist/<%= pkg.name %>.js': '<%= app.src.scripts %>'
}
}
},
cssmin: {
dist: {
files: {
'dist/assets/<%= pkg.name %>.min.css': 'dist/assets/<%= pkg.name %>.css',
'dist/assets/owl.theme.default.min.css': 'dist/assets/owl.theme.default.css',
'dist/assets/owl.theme.green.min.css': 'dist/assets/owl.theme.green.css'
}
}
},
jshint: {
options: {
jshintrc: 'src/js/.jshintrc'
},
dist: {
src: [ '<%= app.src.scripts %>', 'Gruntfile.js' ]
}
},
qunit: {
options: {
timeout: 10000
},
dist: [ 'test/index.html' ]
},
jscs: {
options: {
config: 'src/js/.jscsrc',
reporter: 'text.js',
reporterOutput: 'jscs.report.txt'
},
dist: {
src: [ '<%= app.src.scripts %>', 'Gruntfile.js' ]
}
},
usebanner: {
dist: {
options: {
banner: '<%= banner %>',
linebreak: false
},
files: {
src: [
'dist/<%= pkg.name %>.js',
'dist/assets/*.css'
]
}
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
dist: {
files: {
'dist/<%= pkg.name %>.min.js': 'dist/<%= pkg.name %>.js'
}
}
},
// copy
copy: {
distImages: {
expand: true,
flatten: true,
cwd: 'src/',
src: [ 'img/*.*' ],
dest: 'dist/assets'
},
distToDocs: {
expand: true,
cwd: 'dist/',
src: [ '**/*.*' ],
dest: '<%= app.docs.dest %>/assets/owlcarousel'
},
srcToDocs: {
expand: true,
cwd: 'src/js',
src: [ '**/*.js' ],
dest: '<%= app.docs.dest %>/assets/owlcarousel/src'
},
docsAssets: {
expand: true,
cwd: '<%= app.docs.src %>/assets/',
src: [ 'css/*.css', 'vendors/*.js', 'vendors/*.map', 'img/*.*', 'js/*.*' ],
dest: '<%= app.docs.dest %>/assets/'
},
readme: {
files: [ {
'dist/LICENSE': 'LICENSE',
'dist/README.md': 'README.md'
} ]
}
},
// connect
connect: {
options: {
port: 9600,
open: true,
livereload: true,
hostname: 'localhost'
},
docs: {
options: {
base: "<%= app.docs.dest %>"
}
}
},
// watch
watch: {
options: {
livereload: true
},
templatesDocs: {
files: [ '<%= app.docs.templates %>/**/*.hbs' ],
tasks: [ 'assemble' ]
},
sassDocs: {
files: [ '<%= app.docs.src %>/assets/**/*.scss' ],
tasks: [ 'sass:docs' ]
},
sass: {
files: [ 'src/**/*.scss' ],
tasks: [ 'sass:dist', 'cssmin:dist', 'usebanner:dist', 'copy:distToDocs' ]
},
jsDocs: {
files: [ '<%= app.docs.src %>/assets/**/*.js' ],
tasks: [ 'copy:docsAssets' ]
},
js: {
files: [ 'src/**/*.js' ],
tasks: [ 'jscs:dist', 'jshint:dist', 'qunit:dist', 'concat:dist', 'uglify:dist', 'usebanner:dist', 'copy:distToDocs', 'copy:srcToDocs' ]
},
helpersDocs: {
files: [ '<%= app.docs.src %>/helpers/*.js' ],
tasks: [ 'assemble' ]
},
test: {
files: [ 'test/*.html', 'test/unit/*.js' ],
tasks: [ 'qunit:dist' ]
}
},
// compress zip
compress: {
zip: {
options: {
archive: 'docs/download/owl.carousel.<%= pkg.version %>.zip'
},
files: [ {
expand: true,
cwd: 'dist/',
src: [ '**' ],
dest: 'owl.carousel.<%= pkg.version %>'
} ]
}
},
// publish to github pages
'gh-pages': {
options: {
base: 'docs'
},
src: '**/*'
}
});
grunt.loadNpmTasks('assemble');
// tasks
grunt.registerTask('dist', [ 'clean:dist', 'sass:dist', 'autoprefixer', 'concat:dist', 'cssmin:dist', 'copy:distImages', 'usebanner:dist', 'uglify:dist', 'copy:readme' ]);
grunt.registerTask('docs', [ 'dist', 'clean:docs', 'assemble', 'sass:docs', 'copy:docsAssets', 'copy:distToDocs', 'zip' ]);
grunt.registerTask('test', [ 'jshint:dist', 'qunit:dist', 'jscs:dist' ]);
grunt.registerTask('default', [ 'dist', 'docs', 'test' ]);
grunt.registerTask('serve', [ 'connect:docs', 'watch' ]);
grunt.registerTask('zip', [ 'compress' ]);
grunt.registerTask('deploy', [ 'docs', 'gh-pages' ]);
};
© 2015 - 2024 Weber Informatics LLC | Privacy Policy