4 changed files with 221 additions and 107 deletions
Unified View
Diff Options
@ -0,0 +1,35 @@ |
|||||
|
/******************************* |
||||
|
Build Task |
||||
|
*******************************/ |
||||
|
|
||||
|
var |
||||
|
gulp = require('gulp'), |
||||
|
|
||||
|
// gulp dependencies
|
||||
|
chmod = require('gulp-chmod'), |
||||
|
gulpif = require('gulp-if'), |
||||
|
|
||||
|
// config
|
||||
|
config = require('../config/user'), |
||||
|
tasks = require('../config/project/tasks'), |
||||
|
|
||||
|
// shorthand
|
||||
|
globs = config.globs, |
||||
|
assets = config.paths.assets, |
||||
|
output = config.paths.output, |
||||
|
source = config.paths.source, |
||||
|
|
||||
|
log = tasks.log |
||||
|
; |
||||
|
|
||||
|
module.exports = function(callback) { |
||||
|
|
||||
|
console.info('Building assets'); |
||||
|
|
||||
|
// copy assets
|
||||
|
return gulp.src(source.themes + '/**/assets/**/' + globs.components + '?(s).*') |
||||
|
.pipe(gulpif(config.hasPermission, chmod(config.permission))) |
||||
|
.pipe(gulp.dest(output.themes)) |
||||
|
; |
||||
|
|
||||
|
}; |
@ -0,0 +1,105 @@ |
|||||
|
/******************************* |
||||
|
Build Task |
||||
|
*******************************/ |
||||
|
|
||||
|
var |
||||
|
gulp = require('gulp'), |
||||
|
|
||||
|
// node dependencies
|
||||
|
console = require('better-console'), |
||||
|
fs = require('fs'), |
||||
|
|
||||
|
// gulp dependencies
|
||||
|
autoprefixer = require('gulp-autoprefixer'), |
||||
|
chmod = require('gulp-chmod'), |
||||
|
clone = require('gulp-clone'), |
||||
|
flatten = require('gulp-flatten'), |
||||
|
gulpif = require('gulp-if'), |
||||
|
less = require('gulp-less'), |
||||
|
minifyCSS = require('gulp-minify-css'), |
||||
|
plumber = require('gulp-plumber'), |
||||
|
print = require('gulp-print'), |
||||
|
rename = require('gulp-rename'), |
||||
|
replace = require('gulp-replace'), |
||||
|
|
||||
|
// config
|
||||
|
config = require('../config/user'), |
||||
|
tasks = require('../config/project/tasks'), |
||||
|
install = require('../config/project/install'), |
||||
|
|
||||
|
// shorthand
|
||||
|
globs = config.globs, |
||||
|
assets = config.paths.assets, |
||||
|
output = config.paths.output, |
||||
|
source = config.paths.source, |
||||
|
|
||||
|
banner = tasks.banner, |
||||
|
comments = tasks.regExp.comments, |
||||
|
log = tasks.log, |
||||
|
settings = tasks.settings |
||||
|
; |
||||
|
|
||||
|
// add internal tasks (concat release)
|
||||
|
require('../collections/internal')(gulp); |
||||
|
|
||||
|
module.exports = function(callback) { |
||||
|
|
||||
|
var |
||||
|
stream, |
||||
|
compressedStream, |
||||
|
uncompressedStream |
||||
|
; |
||||
|
|
||||
|
console.info('Building CSS'); |
||||
|
|
||||
|
if( !install.isSetup() ) { |
||||
|
console.error('Cannot build files. Run "gulp install" to set-up Semantic'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// unified css stream
|
||||
|
stream = gulp.src(source.definitions + '/**/' + globs.components + '.less') |
||||
|
.pipe(plumber(settings.plumber.less)) |
||||
|
.pipe(less(settings.less)) |
||||
|
.pipe(autoprefixer(settings.prefix)) |
||||
|
.pipe(replace(comments.variables.in, comments.variables.out)) |
||||
|
.pipe(replace(comments.license.in, comments.license.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(flatten()) |
||||
|
; |
||||
|
|
||||
|
// two concurrent streams from same source to concat release
|
||||
|
uncompressedStream = stream.pipe(clone()); |
||||
|
compressedStream = stream.pipe(clone()); |
||||
|
|
||||
|
// uncompressed component css
|
||||
|
uncompressedStream |
||||
|
.pipe(plumber()) |
||||
|
.pipe(replace(assets.source, assets.uncompressed)) |
||||
|
.pipe(gulpif(config.hasPermission, chmod(config.permission))) |
||||
|
.pipe(gulp.dest(output.uncompressed)) |
||||
|
.pipe(print(log.created)) |
||||
|
.on('end', function() { |
||||
|
gulp.start('package uncompressed css'); |
||||
|
}) |
||||
|
; |
||||
|
|
||||
|
// compressed component css
|
||||
|
compressedStream = stream |
||||
|
.pipe(plumber()) |
||||
|
.pipe(clone()) |
||||
|
.pipe(replace(assets.source, assets.compressed)) |
||||
|
.pipe(minifyCSS(settings.minify)) |
||||
|
.pipe(rename(settings.rename.minCSS)) |
||||
|
.pipe(gulpif(config.hasPermission, chmod(config.permission))) |
||||
|
.pipe(gulp.dest(output.compressed)) |
||||
|
.pipe(print(log.created)) |
||||
|
.on('end', function() { |
||||
|
gulp.start('package compressed css'); |
||||
|
callback(); |
||||
|
}) |
||||
|
; |
||||
|
|
||||
|
}; |
@ -0,0 +1,77 @@ |
|||||
|
/******************************* |
||||
|
Build Task |
||||
|
*******************************/ |
||||
|
|
||||
|
var |
||||
|
gulp = require('gulp'), |
||||
|
|
||||
|
// node dependencies
|
||||
|
console = require('better-console'), |
||||
|
fs = require('fs'), |
||||
|
|
||||
|
// gulp dependencies
|
||||
|
chmod = require('gulp-chmod'), |
||||
|
flatten = require('gulp-flatten'), |
||||
|
gulpif = require('gulp-if'), |
||||
|
plumber = require('gulp-plumber'), |
||||
|
print = require('gulp-print'), |
||||
|
rename = require('gulp-rename'), |
||||
|
replace = require('gulp-replace'), |
||||
|
uglify = require('gulp-uglify'), |
||||
|
|
||||
|
// config
|
||||
|
config = require('../config/user'), |
||||
|
tasks = require('../config/project/tasks'), |
||||
|
install = require('../config/project/install'), |
||||
|
|
||||
|
// shorthand
|
||||
|
globs = config.globs, |
||||
|
assets = config.paths.assets, |
||||
|
output = config.paths.output, |
||||
|
source = config.paths.source, |
||||
|
|
||||
|
banner = tasks.banner, |
||||
|
comments = tasks.regExp.comments, |
||||
|
log = tasks.log, |
||||
|
settings = tasks.settings |
||||
|
; |
||||
|
|
||||
|
// add internal tasks (concat release)
|
||||
|
require('../collections/internal')(gulp); |
||||
|
|
||||
|
module.exports = function(callback) { |
||||
|
|
||||
|
var |
||||
|
stream, |
||||
|
compressedStream, |
||||
|
uncompressedStream |
||||
|
; |
||||
|
|
||||
|
console.info('Building Javascript'); |
||||
|
|
||||
|
if( !install.isSetup() ) { |
||||
|
console.error('Cannot build files. Run "gulp install" to set-up Semantic'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// copy source javascript
|
||||
|
gulp.src(source.definitions + '/**/' + globs.components + '.js') |
||||
|
.pipe(plumber()) |
||||
|
.pipe(flatten()) |
||||
|
.pipe(replace(comments.license.in, comments.license.out)) |
||||
|
.pipe(gulp.dest(output.uncompressed)) |
||||
|
.pipe(gulpif(config.hasPermission, chmod(config.permission))) |
||||
|
.pipe(print(log.created)) |
||||
|
.pipe(uglify(settings.uglify)) |
||||
|
.pipe(rename(settings.rename.minJS)) |
||||
|
.pipe(gulp.dest(output.compressed)) |
||||
|
.pipe(gulpif(config.hasPermission, chmod(config.permission))) |
||||
|
.pipe(print(log.created)) |
||||
|
.on('end', function() { |
||||
|
gulp.start('package compressed js'); |
||||
|
gulp.start('package uncompressed js'); |
||||
|
callback(); |
||||
|
}) |
||||
|
; |
||||
|
|
||||
|
}; |
Write
Preview
Loading…
Cancel
Save