Browse Source

Rewrite gulp rtl build #1552

pull/1615/head
jlukic 10 years ago
parent
commit
a67de5aad8
2 changed files with 90 additions and 30 deletions
  1. 118
      gulpfile.js
  2. 2
      tasks/gulp-settings.js

118
gulpfile.js

@ -538,7 +538,7 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c
//.pipe(sourcemaps.write('/', settings.sourcemap)) //.pipe(sourcemaps.write('/', settings.sourcemap))
.pipe(header(banner, settings.header)) .pipe(header(banner, settings.header))
.pipe(chmod(config.permission)) .pipe(chmod(config.permission))
.pipe(rename(settings.rename.minRTLCSS))
.pipe(rename(settings.rename.rtlMinCSS))
.pipe(gulp.dest(output.compressed)) .pipe(gulp.dest(output.compressed))
.pipe(print(log.created)) .pipe(print(log.created))
.on('end', function() { .on('end', function() {
@ -594,34 +594,94 @@ gulp.task('watch rtl', 'Watch for site/theme changes (Default Task)', function(c
}); });
/* Build RTL */ /* Build RTL */
gulp.task('build rtl', 'Builds rtl css from release files', function (callback) {
gulp.task('build rtl', 'Builds all files from source', function(callback) {
var var
stream
stream,
compressedStream,
uncompressedStream
; ;
console.info('Building Semantic RTL');
console.info('Building Semantic');
if(!fs.existsSync(config.files.theme)) {
console.error('Cant build LESS. Run "gulp install" to create a theme config file');
return;
}
// get relative asset path (path returns wrong path?)
// assetPaths.source = path.relative(srcPath, path.resolve(source.themes));
assetPaths.source = '../../themes'; // hardcoded
// copy assets
gulp.src(source.themes + '**/assets/**')
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.themes))
;
// javascript stream
gulp.src(source.definitions + '**/' + componentGlob + '.js')
.pipe(plumber())
.pipe(flatten())
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.uncompressed))
.pipe(print(log.created))
// .pipe(sourcemaps.init())
.pipe(uglify(settings.uglify))
.pipe(rename(settings.rename.minJS))
.pipe(header(banner, settings.header))
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.compressed))
.pipe(print(log.created))
.on('end', function() {
gulp.start('package compressed js');
gulp.start('package uncompressed js');
})
;
// unified css stream // unified css stream
stream = gulp.src(output.uncompressed + '**/' + componentGlob + config.ignoredFiles + '.css')
stream = gulp.src(source.definitions + '**/' + componentGlob + '.less')
.pipe(plumber()) .pipe(plumber())
//.pipe(sourcemaps.init())
.pipe(less(settings.less))
.pipe(flatten())
.pipe(replace(comments.variables.in, comments.variables.out))
.pipe(replace(comments.large.in, comments.large.out))
.pipe(replace(comments.small.in, comments.small.out))
.pipe(replace(comments.tiny.in, comments.tiny.out))
.pipe(autoprefixer(settings.prefix))
.pipe(rtlcss()) .pipe(rtlcss())
;
// use 2 concurrent streams from same source to concat release
uncompressedStream = stream.pipe(clone());
compressedStream = stream.pipe(clone());
uncompressedStream
.pipe(plumber())
.pipe(replace(assetPaths.source, assetPaths.uncompressed))
//.pipe(sourcemaps.write('/', settings.sourcemap))
.pipe(rename(settings.rename.rtlCSS)) .pipe(rename(settings.rename.rtlCSS))
.pipe(header(banner, settings.header))
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.uncompressed)) .pipe(gulp.dest(output.uncompressed))
.pipe(print(log.created)) .pipe(print(log.created))
.on('end', function () {
.on('end', function() {
gulp.start('package uncompressed rtl css'); gulp.start('package uncompressed rtl css');
}) })
; ;
stream
compressedStream = stream
.pipe(plumber()) .pipe(plumber())
.pipe(clone()) .pipe(clone())
.pipe(replace(assetPaths.source, assetPaths.compressed))
.pipe(minifyCSS(settings.minify)) .pipe(minifyCSS(settings.minify))
.pipe(rename(settings.rename.minCSS))
.pipe(rename(settings.rename.rtlMinCSS))
//.pipe(sourcemaps.write('/', settings.sourcemap))
.pipe(header(banner, settings.header))
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.compressed)) .pipe(gulp.dest(output.compressed))
.pipe(print(log.created)) .pipe(print(log.created))
.on('end', function () {
.on('end', function() {
callback(); callback();
gulp.start('package compressed rtl css'); gulp.start('package compressed rtl css');
}) })
@ -629,49 +689,49 @@ gulp.task('build rtl', 'Builds rtl css from release files', function (callback)
}); });
/*--------------
Internal
---------------*/
gulp.task('package uncompressed css', false, function() {
return gulp.src(output.uncompressed + '**/' + componentGlob + config.ignoredFiles + '.css')
.pipe(plumber())
gulp.task('package uncompressed rtl css', false, function () {
return gulp.src(output.uncompressed + '**/' + componentGlob + '!(*.min|*.map).rtl.css')
.pipe(replace(assetPaths.uncompressed, assetPaths.packaged)) .pipe(replace(assetPaths.uncompressed, assetPaths.packaged))
.pipe(concatCSS('semantic.css'))
.pipe(chmod(config.permission))
.pipe(concatCSS('semantic.rtl.css'))
.pipe(gulp.dest(output.packaged)) .pipe(gulp.dest(output.packaged))
.pipe(print(log.created)) .pipe(print(log.created))
; ;
}); });
gulp.task('package uncompressed rtl css', false, function () {
gulp.task('package compressed rtl css', false, function () {
return gulp.src(output.uncompressed + '**/' + componentGlob + '!(*.min|*.map).rtl.css') return gulp.src(output.uncompressed + '**/' + componentGlob + '!(*.min|*.map).rtl.css')
.pipe(replace(assetPaths.uncompressed, assetPaths.packaged)) .pipe(replace(assetPaths.uncompressed, assetPaths.packaged))
.pipe(concatCSS('semantic.rtl.css'))
.pipe(concatCSS('semantic.rtl.min.css'))
.pipe(minifyCSS(settings.minify))
.pipe(header(banner, settings.header))
.pipe(gulp.dest(output.packaged)) .pipe(gulp.dest(output.packaged))
.pipe(print(log.created)) .pipe(print(log.created))
; ;
}); });
gulp.task('package compressed css', false, function() {
/*--------------
Internal
---------------*/
gulp.task('package uncompressed css', false, function() {
return gulp.src(output.uncompressed + '**/' + componentGlob + config.ignoredFiles + '.css') return gulp.src(output.uncompressed + '**/' + componentGlob + config.ignoredFiles + '.css')
.pipe(plumber()) .pipe(plumber())
.pipe(replace(assetPaths.uncompressed, assetPaths.packaged)) .pipe(replace(assetPaths.uncompressed, assetPaths.packaged))
.pipe(concatCSS('semantic.min.css'))
.pipe(minifyCSS(settings.minify))
.pipe(header(banner, settings.header))
.pipe(chmod(config.permission))
.pipe(concatCSS('semantic.css'))
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.packaged)) .pipe(gulp.dest(output.packaged))
.pipe(print(log.created)) .pipe(print(log.created))
; ;
}); });
gulp.task('package compressed rtl css', false, function () {
return gulp.src(output.uncompressed + '**/' + componentGlob + '!(*.min|*.map).rtl.css')
gulp.task('package compressed css', false, function() {
return gulp.src(output.uncompressed + '**/' + componentGlob + config.ignoredFiles + '.css')
.pipe(plumber())
.pipe(replace(assetPaths.uncompressed, assetPaths.packaged)) .pipe(replace(assetPaths.uncompressed, assetPaths.packaged))
.pipe(concatCSS('semantic.rtl.min.css'))
.pipe(concatCSS('semantic.min.css'))
.pipe(minifyCSS(settings.minify)) .pipe(minifyCSS(settings.minify))
.pipe(header(banner, settings.header)) .pipe(header(banner, settings.header))
.pipe(chmod(config.permission))
.pipe(gulp.dest(output.packaged)) .pipe(gulp.dest(output.packaged))
.pipe(print(log.created)) .pipe(print(log.created))
; ;

2
tasks/gulp-settings.js

@ -43,7 +43,7 @@ module.exports = {
minJS : { extname : '.min.js' }, minJS : { extname : '.min.js' },
minCSS : { extname : '.min.css' }, minCSS : { extname : '.min.css' },
rtlCSS : { extname : '.rtl.css' }, rtlCSS : { extname : '.rtl.css' },
minRTLCSS : { extname : '.rtl.min.css' }
rtlMinCSS : { extname : '.rtl.min.css' }
}, },
wrench: { wrench: {
recursive: { recursive: {

Loading…
Cancel
Save