diff --git a/.gitignore b/.gitignore index 1da0199b..76461092 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ jscs.report.txt /bower_components/ .DS_Store /node_modules -jquery.bxslider.zip \ No newline at end of file +jquery.bxslider.zip +npm-debug.log diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 07f912aa..3acf1f2c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Roots Projects +# Contributing to this project Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved. @@ -115,4 +115,4 @@ merged: ``` 10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) - with a clear title and description. \ No newline at end of file + with a clear title and description. diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 03d77c0b..00000000 --- a/Gruntfile.js +++ /dev/null @@ -1,326 +0,0 @@ -/** - * bxSlider - * - * Steven Wanderski - * - * Copyright (c) 2014 - * Licensed under the MIT license. - */ -module.exports = function(grunt) { - - var path = require('path'); - - if (!grunt.file.isDir('bower_components')) { - grunt.fail.fatal('>> Please run "bower install" before continuing.'); - } - require('load-grunt-tasks')(grunt); - - grunt - .initConfig({ - pkg: grunt.file.readJSON('package.json'), - app: grunt.file.readJSON('_config.json'), - vendor: 'bower_components', - - // assemble - assemble: { - options: { - flatten: false, - expand: true, - production: false, - assets: '<%= app.docs.dest %>/assets', - postprocess: require('pretty'), - mybaseDir: path.resolve('<%= app.docs.dest %>'), - - // metadata - pkg: '<%= pkg %>', - app: '<%= app %>', - data: ['<%= app.docs.src %>/data/*.{json,yml}'], - helpers: ['handlebars-helpers'], - - // templates - partials: '<%= app.docs.templates %>/partials/*.hbs', - layoutdir: '<%= app.docs.layouts %>/' - }, - 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/**/*.*'] - }, - - // less - less: { - docs: { - options: { - compress: true, - paths: ['<%= app.docs.src %>/assets/less/', 'bower_components/bootstrap/less/'] - }, - files: { - '<%= app.docs.dest %>/assets/css/docs.min.css': '<%= app.docs.src %>/assets/less/docs.less' - } - }, - dist: { - options: { - compress: false - }, - files: [{ - expand: true, - flatten: true, - cwd: 'src/less/', - src: '*less', - dest: 'src/css/', - ext: '.css', - extDot: 'last' - }] - } - }, - - // concat - concat: { - docs: { - src: [ - 'bower_components/bootstrap/js/transition.js', - 'bower_components/bootstrap/js/alert.js', - 'bower_components/bootstrap/js/button.js', - 'bower_components/bootstrap/js/carousel.js', - 'bower_components/bootstrap/js/collapse.js', - 'bower_components/bootstrap/js/dropdown.js', - 'bower_components/bootstrap/js/modal.js', - 'bower_components/bootstrap/js/tooltip.js', - 'bower_components/bootstrap/js/popover.js', - 'bower_components/bootstrap/js/scrollspy.js', - 'bower_components/bootstrap/js/tab.js', - 'bower_components/bootstrap/js/affix.js', - 'bower_components/highlightjs/highlight.pack.js' - ], - dest: '<%= app.docs.dest %>/assets/js/vendor.js' - }, - dist: { - options: { - banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' + - ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' + - ' * Written while drinking Belgian ales and listening to jazz\n\n' + - ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n' - }, - files: { - 'dist/jquery.<%= pkg.name %>.css': ['src/css/*.css'], - 'dist/jquery.<%= pkg.name %>.js': '<%= app.src.scripts %>' - } - } - }, - - cssmin: { - options: { - banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' + - ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' + - ' * Written while drinking Belgian ales and listening to jazz\n\n' + - ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n' - }, - dist: { - files: { - 'dist/jquery.<%= pkg.name %>.min.css': ['src/css/*.css'] - } - } - }, - - // jshint - jshint: { - options: { - jshintrc: 'src/js/.jshintrc' - }, - dist: { - src: ['<%= app.src.scripts %>', 'Gruntfile.js'] - } - }, - - //jscs - jscs: { - options: { - config: 'src/js/.jscsrc', - reporter: 'text.js', - reporterOutput: 'jscs.report.txt' - }, - dist: { - src: ['<%= app.src.scripts %>', 'Gruntfile.js'] - } - }, - - // uglify - uglify: { - options: { - banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' + - ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' + - ' * Written while drinking Belgian ales and listening to jazz\n\n' + - ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n' - }, - dist: { - files: { - 'dist/jquery.<%= pkg.name %>.min.js': '<%= app.src.scripts %>' - } - } - }, - - // copy - copy: { - distImages: { - expand: true, - flatten: true, - cwd: 'src/', - src: ['images/*.*'], - dest: 'dist/images' - }, - - distVendor: { - expand: true, - flatten: true, - cwd: 'src/', - src: ['vendor/*.*'], - dest: 'dist/vendor' - }, - - distToDocs: { - expand: true, - cwd: 'dist/', - src: ['**/*.*'], - dest: '<%= app.docs.dest %>/assets/bxslider' - }, - - srcToDocs: { - expand: true, - cwd: 'src/js', - src: ['**/*.js'], - dest: '<%= app.docs.dest %>/assets/bxslider/src' - }, - - docsAssets: { - expand: true, - cwd: '<%= app.docs.src %>/assets/', - src: ['css/*.css', 'vendors/*.js', 'vendors/*.map', 'img/*.*', 'js/*.*'], - dest: '<%= app.docs.dest %>/assets/' - }, - - docsHighlightAssets: { - expand: true, - cwd: 'bower_components/highlightjs/', - src: 'styles/*.css', - dest: '<%= app.docs.dest %>/assets/css/' - }, - - readme: { - files: [{ - 'dist/LICENSE.md': 'LICENSE.md', - 'dist/README.md': 'README.md' - }] - } - }, - - // connect - connect: { - options: { - port: 9000, - open: true, - livereload: true, - hostname: 'localhost' - }, - docs: { - options: { - base: '<%= app.docs.dest %>' - } - } - }, - - // watch - watch: { - options: { - livereload: true - }, - templates: { - files: ['<%= app.docs.templates %>/**/*.hbs'], - tasks: ['assemble'] - }, - less: { - files: ['<%= app.docs.src %>/assets/**/*.less'], - tasks: ['less:docs'] - }, - lessDist: { - files: ['src/**/*.less'], - tasks: ['less:dist', 'concat:dist', 'cssmin:dist', 'copy:distToDocs'] - }, - jsDocs: { - files: ['<%= app.docs.src %>/assets/**/*.js'], - tasks: ['copy:docsAssets'] - }, - js: { - files: ['src/**/*.js'], - tasks: ['jscs:dist', 'jshint:dist', 'uglify:dist', 'concat:dist', 'copy:distToDocs', 'copy:srcToDocs'] - }, - helpers: { - files: ['<%= app.src %>/helpers/*.js'], - tasks: ['assemble'] - } - }, - - // compress zip - compress: { - zip: { - options: { - archive: 'download/<%= pkg.version %>/bxslider.zip' - }, - files: [{ - expand: true, - cwd: 'dist/', - src: ['**'], - dest: 'bxslider.<%= pkg.version %>' - }] - } - } - }); - - grunt.loadNpmTasks('assemble'); - - // tasks - grunt.registerTask('dist', ['clean:dist', 'less:dist', 'jshint:dist', 'concat:dist', 'cssmin:dist', 'copy:distImages', 'copy:distVendor', 'jscs:dist', 'uglify:dist', 'copy:readme']); - - grunt.registerTask('docs', ['clean:docs', 'assemble', 'less:docs', 'concat:docs', 'copy:docsAssets', 'copy:docsHighlightAssets', 'copy:distToDocs']); - - grunt.registerTask('default', ['dist', 'docs']); - - grunt.registerTask('watch', ['connect:docs', 'watch']); - - grunt.registerTask('zip', ['compress']); - -}; diff --git a/Gulpfile.js b/Gulpfile.js new file mode 100644 index 00000000..01c228ea --- /dev/null +++ b/Gulpfile.js @@ -0,0 +1,58 @@ +var gulp = require('gulp') +var uglify = require('gulp-uglify'); +var cssmin = require('gulp-cssmin'); +var rename = require('gulp-rename'); + +gulp.task('js-minify', function () { + gulp.src('./src/js/jquery.bxslider.js') + .pipe(uglify({ + preserveComments: 'license' + })) + .pipe(rename({ suffix: '.min' })) + .pipe(gulp.dest('./dist')); +}); + +gulp.task('js-copy-src', function () { + gulp.src('./src/js/jquery.bxslider.js') + .pipe(gulp.dest('./dist')); +}); + +gulp.task('css-minify', function () { + gulp.src('./src/css/jquery.bxslider.css') + .pipe(cssmin()) + .pipe(rename({ suffix: '.min' })) + .pipe(gulp.dest('./dist')); +}); + +gulp.task('css-copy-src', function () { + gulp.src('./src/css/jquery.bxslider.css') + .pipe(gulp.dest('./dist')); +}); + +gulp.task('vendor-copy-src', function () { + gulp.src('./src/vendor/*') + .pipe(gulp.dest('./dist/vendor')); +}); + +gulp.task('images-copy-src', function () { + gulp.src('./src/images/*') + .pipe(gulp.dest('./dist/images')); +}); + +gulp.task('docs-copy-src', function () { + gulp.src([ + './readme.md', + './LICENSE.md' + ]) + .pipe(gulp.dest('./dist')); +}); + +gulp.task('default', [ + 'js-minify', + 'js-copy-src', + 'css-minify', + 'css-copy-src', + 'vendor-copy-src', + 'images-copy-src', + 'docs-copy-src' +]); diff --git a/bower.json b/bower.json index ebb4518f..d63dd210 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,5 @@ { "name": "bxslider-4", - "version": "4.2.4", "homepage": "http://bxslider.com", "license": "MIT", "main": [ diff --git a/dist/README.md b/dist/README.md index f4718dc5..98370f56 100644 --- a/dist/README.md +++ b/dist/README.md @@ -1,7 +1,13 @@ -#bxSlider 4.2.4 -##The fully-loaded, responsive jQuery content slider +# ⚠️ Looking for a maintainer ⚠️ +Please contact me if you are interested in keeping our community alive: +https://github.com/stevenwanderski/bxslider-4/issues/1095 -###Why should I use this slider? +--- + +# bxSlider 4.2.12 +## The fully-loaded, responsive jQuery content slider + +### Why should I use this slider? * Fully responsive - will adapt to any device * Horizontal, vertical, and fade modes * Slides can contain images, video, or HTML content @@ -10,20 +16,18 @@ * Browser support: Firefox, Chrome, Safari, iOS, Android, IE7+ * Tons of configuration options -For complete documentation, tons of examples, and a good time, visit: - -[http://bxslider.com](http://bxslider.com) +For complete documentation, tons of examples, and a good time, visit: [http://bxslider.com](http://bxslider.com) Written by: Steven Wanderski - [http://stevenwanderski.com](http://stevenwanderski.com) -###License +### License Released under the MIT license - http://opensource.org/licenses/MIT Let's get on with it! -##Installation +## Installation -###Step 1: Link required files +### Step 1: Link required files First and most important, the jQuery library needs to be included (no need to download - link directly from Google). Next, download the package from this site and link the bxSlider CSS file (for the theme) and the bxSlider Javascript file. @@ -36,7 +40,7 @@ First and most important, the jQuery library needs to be included (no need to do ``` -###Step 2: Create HTML markup +### Step 2: Create HTML markup Create a `