From 77df341740ce3f99b8237e86f9cedb693ac35ebf Mon Sep 17 00:00:00 2001 From: ezsh <ezsh.junk@gmail.com> Date: Wed, 17 Mar 2021 02:36:04 +0100 Subject: [PATCH] gulp: generate tasks to build themes --- gulpfile.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index de5f9634357..d62153442d4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -170,6 +170,17 @@ function prepareComponent(name) { return r; } +function makeThemeCompilationTask(themeName) { + const taskName = `make-theme-${themeName}`; + gulp.task(taskName, function() { + return gulp.src(`themes/${themeName}/**/*.css`) + .pipe(sort()) + .pipe(concat(`${themeName}.css`)) + .pipe(gulp.dest(cfg.dirs.output)); + }); + return taskName; +} + function moveHTMLInPlace(cb) { fs.rename(path.join(cfg.dirs.intermediate, htmlOut), path.join(cfg.dirs.output, cfg.output), cb); } @@ -192,5 +203,16 @@ if (fs.statSync('.git').isDirectory()) { gulp.task('buildHTML', gulp.series(prepare, 'compileStory')); } +const themeTasks = []; +for (const entry of fs.readdirSync('themes')) { + if (fs.statSync(path.join('themes', entry)).isDirectory()) { + themeTasks.push(makeThemeCompilationTask(entry)); + } +} + +exports.html = gulp.series('buildHTML', moveHTMLInPlace); +exports.themes = gulp.parallel(themeTasks); exports.clean = clean; -exports.default = gulp.series('buildHTML', moveHTMLInPlace); + +exports.default = exports.html; +exports.all = gulp.parallel(exports.html, exports.themes); -- GitLab