78 lines
2.2 KiB
Python
78 lines
2.2 KiB
Python
const gulp = require('gulp');
|
|
const plumber = require('gulp-plumber');
|
|
const sass = require('gulp-sass')(require('sass'));
|
|
const autoprefixer = require('gulp-autoprefixer');
|
|
const rtlcss = require('gulp-rtlcss');
|
|
const rename = require('gulp-rename');
|
|
const sourcemaps = require('gulp-sourcemaps');
|
|
const browserSync = require('browser-sync');
|
|
const cleanCSS = require('gulp-clean-css');
|
|
|
|
/*-----------------------------------------------
|
|
| SCSS
|
|
-----------------------------------------------*/
|
|
gulp.task('scss', () =>
|
|
gulp
|
|
.src('src/assets/scss/*.scss')
|
|
.pipe(plumber())
|
|
.pipe(sourcemaps.init())
|
|
.pipe(
|
|
sass({
|
|
outputStyle: 'expanded'
|
|
}).on('error', sass.logError)
|
|
)
|
|
.pipe(autoprefixer({ cascade: false }))
|
|
.pipe(cleanCSS({ compatibility: 'ie9' }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(plumber.stop())
|
|
.pipe(gulp.dest('public/css'))
|
|
.pipe(browserSync.stream())
|
|
);
|
|
|
|
gulp.task('scss:dark', () =>
|
|
gulp
|
|
.src('src/assets/scss/theme-dark.scss')
|
|
.pipe(plumber())
|
|
.pipe(sourcemaps.init())
|
|
.pipe(
|
|
sass({
|
|
outputStyle: 'expanded'
|
|
}).on('error', sass.logError)
|
|
)
|
|
.pipe(autoprefixer({ cascade: false }))
|
|
.pipe(cleanCSS({ compatibility: 'ie9' }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(plumber.stop())
|
|
.pipe(gulp.dest('public/css'))
|
|
.pipe(browserSync.stream())
|
|
);
|
|
|
|
gulp.task('scss:rtl', () =>
|
|
gulp
|
|
.src('src/assets/scss/*.scss')
|
|
.pipe(plumber())
|
|
.pipe(sourcemaps.init())
|
|
.pipe(
|
|
sass({
|
|
outputStyle: 'expanded'
|
|
}).on('error', sass.logError)
|
|
)
|
|
.pipe(autoprefixer({ cascade: false }))
|
|
.pipe(cleanCSS({ compatibility: 'ie9' }))
|
|
.pipe(rtlcss()) // Convert to RTL.
|
|
.pipe(rename({ suffix: '-rtl' })) // Append "-rtl" to the filename.
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(plumber.stop())
|
|
.pipe(gulp.dest('public/css'))
|
|
.pipe(browserSync.stream())
|
|
);
|
|
|
|
/*-----------------------------------------------
|
|
| Watching
|
|
-----------------------------------------------*/
|
|
gulp.task('watch', () => {
|
|
gulp.watch('src/assets/scss/**/*.scss', gulp.parallel('scss', 'scss:rtl'));
|
|
});
|
|
|
|
gulp.task('default', gulp.parallel('scss', 'scss:rtl', 'watch', 'scss:dark'));
|