diff --git a/gulpfile.js b/gulpfile.js index 998bbd7..a0831a2 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -41,24 +41,29 @@ gulp.task('lint', function () { }); gulp.task('html', ['styles', 'scripts', 'views'], function () { - return gulp.src('src/*.html') - .pipe($.useref({searchPath: ['.tmp', 'src', '.']})) + return gulp.src([ + 'src/*.html' + ]).pipe($.useref({searchPath: ['.tmp', 'src', '.']})) .pipe($.if('js/*.js', $.replace(/\/\/# sourceMappingURL=.*/g, ''))) .pipe($.if('css/*.css', $.replace(/\/\*# sourceMappingURL=.* \*\/$/g, ''))) .pipe($.if(['js/moment-with-locales-*.min.js', 'js/plugins.min.js', 'js/aria-ng.min.js'], $.uglify({preserveComments: 'license'}))) .pipe($.if(['css/plugins.min.css', 'css/aria-ng.min.css'], $.cssnano({safe: true, autoprefixer: false}))) + .pipe($.if(['js/plugins.min.js', 'js/aria-ng.min.js', 'css/plugins.min.css', 'css/aria-ng.min.css'], $.rev())) .pipe($.if('*.html', $.htmlmin({collapseWhitespace: true}))) + .pipe($.revReplace()) .pipe(gulp.dest('dist')); }); gulp.task('langs', function () { - return gulp.src('src/langs/**/*') - .pipe(gulp.dest('dist/langs')); + return gulp.src([ + 'src/langs/**/*' + ]).pipe(gulp.dest('dist/langs')); }); gulp.task('images', function () { - return gulp.src('src/imgs/**/*') - .pipe(gulp.dest('dist/imgs')); + return gulp.src([ + 'src/imgs/**/*' + ]).pipe(gulp.dest('dist/imgs')); }); gulp.task('fonts', function () { @@ -69,6 +74,20 @@ gulp.task('fonts', function () { .pipe(gulp.dest('dist/fonts')); }); +gulp.task('manifest', function () { + return gulp.src([ + 'dist/**' + ], {base: 'dist/'}) + .pipe($.manifest({ + hash: true, + preferOnline: true, + network: ['*'], + filename: 'index.manifest', + exclude: 'index.manifest' + })) + .pipe(gulp.dest('dist')); +}); + gulp.task('extras', function () { return gulp.src([ 'src/*.*', @@ -94,7 +113,7 @@ gulp.task('serve', ['styles', 'scripts', 'fonts'], function () { gulp.watch([ 'src/*.html', - 'src/langs/*.json', + 'src/langs/*.txt', 'src/views/*.html', 'src/imgs/**/*', '.tmp/fonts/**/*' @@ -115,10 +134,14 @@ gulp.task('serve:dist', function () { }); }); -gulp.task('build', ['lint', 'html', 'langs', 'images', 'fonts', 'extras'], function () { - return gulp.src('dist/**/*').pipe($.size({title: 'build', gzip: true})); +gulp.task('info', function () { + return gulp.src([ + 'dist/**/*' + ]).pipe($.size({title: 'build', gzip: true})); }); +gulp.task('build', $.sequence('lint', 'html', 'langs', 'images', 'fonts', 'manifest', 'extras', 'info')); + gulp.task('default', ['clean'], function () { gulp.start('build'); }); diff --git a/package.json b/package.json index 41d72dc..d24767d 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,12 @@ "gulp-htmlmin": "^2.0.0", "gulp-if": "^2.0.1", "gulp-load-plugins": "^1.2.4", + "gulp-manifest": "^0.1.1", "gulp-plumber": "^1.1.0", "gulp-replace": "^0.5.4", + "gulp-rev": "^7.1.0", + "gulp-rev-replace": "^0.4.3", + "gulp-sequence": "^0.4.5", "gulp-size": "^2.1.0", "gulp-sourcemaps": "^1.6.0", "gulp-uglify": "^1.5.4", diff --git a/scripts/publish_dailybuild.sh b/scripts/publish_dailybuild.sh index 8f0d34b..fb82527 100644 --- a/scripts/publish_dailybuild.sh +++ b/scripts/publish_dailybuild.sh @@ -13,6 +13,7 @@ if [ $CI == "true" ] && [ $CIRCLE_BRANCH == "master" ]; then rm -rf langs; rm -rf imgs; rm -f index.html; + rm -f index.manifest; rm -f README.md; rm -f LICENSE; @@ -31,4 +32,4 @@ if [ $CI == "true" ] && [ $CIRCLE_BRANCH == "master" ]; then rm -rf $CIRCLE_ARTIFACTS/dist; rm -f $CIRCLE_ARTIFACTS/README.md; rm -f $CIRCLE_ARTIFACTS/LICENSE; -fi \ No newline at end of file +fi diff --git a/src/index.html b/src/index.html index 5e8ed86..eaa2de8 100644 --- a/src/index.html +++ b/src/index.html @@ -1,5 +1,5 @@ - +