61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
var gulp = require('gulp');
|
|
var cleanCss = require('gulp-clean-css');
|
|
var rename = require('gulp-rename');
|
|
var through = require('through2');
|
|
|
|
var replaceRem2Px = function () {
|
|
function fn(file, encoding, callback) {
|
|
if (file.isNull()) {
|
|
return callback(null, file);
|
|
}
|
|
|
|
if (file.isStream()) {
|
|
return callback(createError(file, 'Streaming not supported'));
|
|
}
|
|
|
|
let text = file.contents.toString();
|
|
|
|
if (/\d*\.?\d+rem/.test(text)) {
|
|
text = text.replace(/(\d*\.?\d+)rem/g, function (match, m1) {
|
|
return parseInt(m1 * 50) + 'px';
|
|
});
|
|
}
|
|
|
|
file.contents = new Buffer(text);
|
|
callback(null, file);
|
|
}
|
|
|
|
return through.obj(fn);
|
|
};
|
|
|
|
gulp.task('css:base', function () {
|
|
gulp.src('../src/styles/base.less')
|
|
.pipe(require('gulp-less')())
|
|
.pipe(cleanCss())
|
|
.pipe(rename('ydui.base.css'))
|
|
.pipe(gulp.dest('../dist'));
|
|
});
|
|
|
|
gulp.task('css:ydui', function () {
|
|
gulp.src('../dist/ydui.rem.css')
|
|
.pipe(require('ydui-rem2px')(50))
|
|
.pipe(cleanCss())
|
|
.pipe(rename('ydui.px.css'))
|
|
.pipe(gulp.dest('../dist'));
|
|
});
|
|
|
|
gulp.task('js:ydui', function () {
|
|
gulp.src('../dist/ydui.rem.js')
|
|
.pipe(replaceRem2Px())
|
|
.pipe(rename('ydui.px.js'))
|
|
.pipe(gulp.dest('../dist'));
|
|
});
|
|
|
|
gulp.task('flexible', function () {
|
|
gulp.src('../src/ydui.flexible.js')
|
|
.pipe(require('gulp-uglify')())
|
|
.pipe(gulp.dest('../dist'));
|
|
});
|
|
|
|
gulp.task('default', ['css:base', 'css:ydui', 'js:ydui', 'flexible']);
|