From 43357eee0d95aaf98f44fbd178201a4858d2b963 Mon Sep 17 00:00:00 2001 From: Norbert Renner Date: Fri, 11 Jan 2019 11:02:35 +0100 Subject: [PATCH] Improve CSS URL rebasing for images and fonts because of jsTree; also replace concat-css and minify-css with more common clean-css --- gulpfile.js | 36 +++++++++++++++++++----------------- package.json | 5 ++--- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 5efa1d1..a9eaadb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,7 +1,5 @@ var gulp = require('gulp'); var concat = require('gulp-concat'); -var concatCss = require('gulp-concat-css'); -var minifyCss = require('gulp-minify-css'); var postcss = require('gulp-postcss'); var autoprefixer = require('autoprefixer'); var uglify = require('gulp-uglify'); @@ -9,7 +7,6 @@ var sourcemaps = require('gulp-sourcemaps'); var gulpDebug = require('gulp-debug'); var mainBowerFiles = require('main-bower-files'); var del = require('del'); -var tap = require('gulp-tap'); var path = require('path'); var cached = require('gulp-cached'); var remember = require('gulp-remember'); @@ -22,6 +19,8 @@ var semver = require('semver'); var git = require('gulp-git'); var replace = require('gulp-replace'); var release = require('gulp-github-release'); +var cleanCSS = require('gulp-clean-css'); +var modifyCssUrls = require('gulp-modify-css-urls'); var debug = false; @@ -80,23 +79,25 @@ gulp.task('concat', function() { gulp.task('styles', function() { return gulp.src(paths.styles) - // hack for rewriting relative URLs to images/fonts in gulp-concat-css - // when src in css subfolder (remove '../') - // see also (?) https://github.com/mariocasciaro/gulp-concat-css/pull/10 - .pipe(tap(function (file) { - if (path.basename(file.base) === 'css') { - file.path = 'css/' + file.relative; - file.base = './css'; - } else { - file.path = file.relative; - file.base = '.'; + .pipe(modifyCssUrls({ + modify(url, filePath) { + var distUrl = url; + var imageExt = ['.png', '.gif', '.svg']; + + if (imageExt.indexOf(path.extname(url)) !== -1) { + distUrl = 'images/' + path.basename(url); + } else if (url.indexOf('font') !== -1) { + distUrl = 'fonts/' + path.basename(url); + } + + return distUrl; } })) - .pipe(concatCss(paths.destName + '.css')) - .pipe(postcss([ autoprefixer({ remove: false }) ])) - .pipe(minifyCss({ + .pipe(concat(paths.destName + '.css')) + .pipe(cleanCSS({ rebase: false })) + .pipe(postcss([ autoprefixer({ remove: false }) ])) .pipe(gulp.dest(paths.dest)); }); @@ -131,9 +132,10 @@ gulp.task('watch', function() { gulp.task('log', function() { //return gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js'])) //return gulp.src(mainBowerFiles('**/*.css')) - return gulp.src(paths.scripts) + //return gulp.src(paths.scripts) //return gulp.src(paths.styles) //return gulp.src(paths.images) + return gulp.src(paths.scripts.concat(paths.styles).concat(paths.images)) .pipe(gulpDebug()); //return gulp.src(mainBowerFiles({debugging: true})); diff --git a/package.json b/package.json index 84f1b8e..c1f3c8e 100644 --- a/package.json +++ b/package.json @@ -20,21 +20,20 @@ "gulp": "^3.8.11", "gulp-bump": "^2.7.0", "gulp-cached": "^1.0.4", + "gulp-clean-css": "^4.0.0", "gulp-concat": "^2.5.2", - "gulp-concat-css": "^2.1.2", "gulp-confirm": "^1.0.6", "gulp-debug": "^2.0.1", "gulp-git": "^2.2.0", "gulp-github-release": "^1.2.1", "gulp-if": "^2.0.0", "gulp-inject": "^1.2.0", - "gulp-minify-css": "^1.0.0", + "gulp-modify-css-urls": "^2.0.0", "gulp-postcss": "^7.0.1", "gulp-remember": "^0.3.0", "gulp-rename": "^1.2.0", "gulp-replace": "^0.5.4", "gulp-sourcemaps": "^1.5.1", - "gulp-tap": "^0.1.3", "gulp-uglify": "^1.1.0", "gulp-util": "^3.0.7", "gulp-zip": "^4.0.0",