diff --git a/README.rst b/README.rst index ae81d09..c5aa255 100644 --- a/README.rst +++ b/README.rst @@ -39,13 +39,7 @@ distribution. Note that all files are not required: - Core files (:code:`index.html`, :code:`js/main.js`, :code:`css/main.css`): required unless gzipped versions are used. - Gzipped versions of core files (:code:`*.gz`): not required, but preferred. - Use instead of plain core files. - - - Note that filenames must have the :code:`.gz` extension removed as links are - not currently rewritten to reflect the extension added during the gzip - process. TODO: investigate use of - `gulp-rebase `_ to avoid this. - + Use instead of plain core files to save on disk usage and bandwidth. - Source maps (:code:`js/main.js.map`, :code:`js/main.js.map.gz`): only required for debugging purposes. diff --git a/gulp/config.js b/gulp/config.js index 32f0aa2..2e9fe4d 100644 --- a/gulp/config.js +++ b/gulp/config.js @@ -37,6 +37,7 @@ module.exports = { 'gzip': { 'src': 'build/**/*.{html,xml,json,css,js,js.map}', + 'rewrite': '**/*.html', 'dest': 'build/', 'options': {} }, diff --git a/gulp/tasks/gzip.js b/gulp/tasks/gzip.js index a48fc66..b539d04 100644 --- a/gulp/tasks/gzip.js +++ b/gulp/tasks/gzip.js @@ -1,12 +1,18 @@ 'use strict'; -var gulp = require('gulp'); -var gzip = require('gulp-gzip'); -var config = require('../config'); +var gulp = require('gulp'); +var gzip = require('gulp-gzip'); +var config = require('../config'); +var filter = require('gulp-filter'); +var replace = require('gulp-replace'); gulp.task('gzip', function() { + var rewriteFilter = filter(config.gzip.rewrite, { restore: true }); return gulp.src(config.gzip.src) + .pipe(rewriteFilter) + .pipe(replace(/"((?:css|js)\/.*\.(?:css|js))"/g, '"$1.gz"')) + .pipe(rewriteFilter.restore) .pipe(gzip(config.gzip.options)) .pipe(gulp.dest(config.gzip.dest)); diff --git a/package.json b/package.json index efdaa4e..256dd1d 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "gulp-angular-templatecache": "^1.3.0", "gulp-autoprefixer": "^2.0.0", "gulp-changed": "^1.0.0", + "gulp-filter": "^3.0.1", "gulp-gzip": "^0.0.8", "gulp-if": "^1.2.5", "gulp-imagemin": "^1.1.0", @@ -38,6 +39,7 @@ "gulp-notify": "^2.0.0", "gulp-protractor": "0.0.11", "gulp-rename": "^1.2.0", + "gulp-replace": "^0.5.4", "gulp-sass": "^1.3.3", "gulp-sourcemaps": "^1.3.0", "gulp-streamify": "0.0.5",