Improve CSS URL rebasing for images and fonts

because of jsTree; also replace concat-css and minify-css with more
common clean-css
This commit is contained in:
Norbert Renner 2019-01-11 11:02:35 +01:00
parent 925a6b06f6
commit 43357eee0d
2 changed files with 21 additions and 20 deletions

View file

@ -1,7 +1,5 @@
var gulp = require('gulp'); var gulp = require('gulp');
var concat = require('gulp-concat'); var concat = require('gulp-concat');
var concatCss = require('gulp-concat-css');
var minifyCss = require('gulp-minify-css');
var postcss = require('gulp-postcss'); var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer'); var autoprefixer = require('autoprefixer');
var uglify = require('gulp-uglify'); var uglify = require('gulp-uglify');
@ -9,7 +7,6 @@ var sourcemaps = require('gulp-sourcemaps');
var gulpDebug = require('gulp-debug'); var gulpDebug = require('gulp-debug');
var mainBowerFiles = require('main-bower-files'); var mainBowerFiles = require('main-bower-files');
var del = require('del'); var del = require('del');
var tap = require('gulp-tap');
var path = require('path'); var path = require('path');
var cached = require('gulp-cached'); var cached = require('gulp-cached');
var remember = require('gulp-remember'); var remember = require('gulp-remember');
@ -22,6 +19,8 @@ var semver = require('semver');
var git = require('gulp-git'); var git = require('gulp-git');
var replace = require('gulp-replace'); var replace = require('gulp-replace');
var release = require('gulp-github-release'); var release = require('gulp-github-release');
var cleanCSS = require('gulp-clean-css');
var modifyCssUrls = require('gulp-modify-css-urls');
var debug = false; var debug = false;
@ -80,23 +79,25 @@ gulp.task('concat', function() {
gulp.task('styles', function() { gulp.task('styles', function() {
return gulp.src(paths.styles) return gulp.src(paths.styles)
// hack for rewriting relative URLs to images/fonts in gulp-concat-css .pipe(modifyCssUrls({
// when src in css subfolder (remove '../') modify(url, filePath) {
// see also (?) https://github.com/mariocasciaro/gulp-concat-css/pull/10 var distUrl = url;
.pipe(tap(function (file) { var imageExt = ['.png', '.gif', '.svg'];
if (path.basename(file.base) === 'css') {
file.path = 'css/' + file.relative; if (imageExt.indexOf(path.extname(url)) !== -1) {
file.base = './css'; distUrl = 'images/' + path.basename(url);
} else { } else if (url.indexOf('font') !== -1) {
file.path = file.relative; distUrl = 'fonts/' + path.basename(url);
file.base = '.'; }
return distUrl;
} }
})) }))
.pipe(concatCss(paths.destName + '.css')) .pipe(concat(paths.destName + '.css'))
.pipe(postcss([ autoprefixer({ remove: false }) ])) .pipe(cleanCSS({
.pipe(minifyCss({
rebase: false rebase: false
})) }))
.pipe(postcss([ autoprefixer({ remove: false }) ]))
.pipe(gulp.dest(paths.dest)); .pipe(gulp.dest(paths.dest));
}); });
@ -131,9 +132,10 @@ gulp.task('watch', function() {
gulp.task('log', function() { gulp.task('log', function() {
//return gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js'])) //return gulp.src(mainBowerFiles(['**/*.js', '!**/*.min.js']))
//return gulp.src(mainBowerFiles('**/*.css')) //return gulp.src(mainBowerFiles('**/*.css'))
return gulp.src(paths.scripts) //return gulp.src(paths.scripts)
//return gulp.src(paths.styles) //return gulp.src(paths.styles)
//return gulp.src(paths.images) //return gulp.src(paths.images)
return gulp.src(paths.scripts.concat(paths.styles).concat(paths.images))
.pipe(gulpDebug()); .pipe(gulpDebug());
//return gulp.src(mainBowerFiles({debugging: true})); //return gulp.src(mainBowerFiles({debugging: true}));

View file

@ -20,21 +20,20 @@
"gulp": "^3.8.11", "gulp": "^3.8.11",
"gulp-bump": "^2.7.0", "gulp-bump": "^2.7.0",
"gulp-cached": "^1.0.4", "gulp-cached": "^1.0.4",
"gulp-clean-css": "^4.0.0",
"gulp-concat": "^2.5.2", "gulp-concat": "^2.5.2",
"gulp-concat-css": "^2.1.2",
"gulp-confirm": "^1.0.6", "gulp-confirm": "^1.0.6",
"gulp-debug": "^2.0.1", "gulp-debug": "^2.0.1",
"gulp-git": "^2.2.0", "gulp-git": "^2.2.0",
"gulp-github-release": "^1.2.1", "gulp-github-release": "^1.2.1",
"gulp-if": "^2.0.0", "gulp-if": "^2.0.0",
"gulp-inject": "^1.2.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-postcss": "^7.0.1",
"gulp-remember": "^0.3.0", "gulp-remember": "^0.3.0",
"gulp-rename": "^1.2.0", "gulp-rename": "^1.2.0",
"gulp-replace": "^0.5.4", "gulp-replace": "^0.5.4",
"gulp-sourcemaps": "^1.5.1", "gulp-sourcemaps": "^1.5.1",
"gulp-tap": "^0.1.3",
"gulp-uglify": "^1.1.0", "gulp-uglify": "^1.1.0",
"gulp-util": "^3.0.7", "gulp-util": "^3.0.7",
"gulp-zip": "^4.0.0", "gulp-zip": "^4.0.0",