From 3f4c0720e1e3421431e7baa20882a4a4512a7fab Mon Sep 17 00:00:00 2001 From: ivar Date: Sun, 19 Oct 2025 23:41:23 +0200 Subject: Initial --- .../libraries/fomantic/tasks/build/assets.js | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/wwwroot/libraries/fomantic/tasks/build/assets.js (limited to 'src/wwwroot/libraries/fomantic/tasks/build/assets.js') diff --git a/src/wwwroot/libraries/fomantic/tasks/build/assets.js b/src/wwwroot/libraries/fomantic/tasks/build/assets.js new file mode 100644 index 0000000..bfb0cf2 --- /dev/null +++ b/src/wwwroot/libraries/fomantic/tasks/build/assets.js @@ -0,0 +1,63 @@ +/******************************* + Build Task + *******************************/ + +var + gulp = require('gulp'), + + // gulp dependencies + chmod = require('gulp-chmod'), + gulpif = require('gulp-if'), + normalize = require('normalize-path'), + print = require('gulp-print').default, + + // config + config = require('../config/user'), + tasks = require('../config/tasks'), + install = require('../config/project/install'), + + log = tasks.log +; + +function build(src, config) { + return gulp.src(src, {base: config.paths.source.themes}) + .pipe(gulpif(config.hasPermissions, chmod(config.parsedPermissions))) + .pipe(gulp.dest(config.paths.output.themes)) + .pipe(print(log.created)) + ; +} + +function buildAssets(src, config, callback) { + if (!install.isSetup()) { + console.error('Cannot build assets. Run "gulp install" to set-up Semantic'); + callback(); + return; + } + + if (callback === undefined) { + callback = config; + config = src; + src = config.paths.source.themes + '/**/assets/**/*.*'; + } + + // copy assets + var assets = () => build(src, config); + assets.displayName = "Building Assets"; + + gulp.series(assets)(callback); +} + +module.exports = function (callback) { + buildAssets(config, callback); +}; + +module.exports.watch = function (type, config) { + gulp + .watch([normalize(config.paths.source.themes + '/**/assets/**/*.*')]) + .on('all', function (event, path) { + console.log('Change in assets detected'); + return gulp.series((callback) => buildAssets(path, config, callback))(); + }); +}; + +module.exports.buildAssets = buildAssets; \ No newline at end of file -- cgit v1.3