summaryrefslogtreecommitdiffstats
path: root/src/wwwroot/libraries/fomantic/tasks/build/assets.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/wwwroot/libraries/fomantic/tasks/build/assets.js')
-rw-r--r--src/wwwroot/libraries/fomantic/tasks/build/assets.js63
1 files changed, 63 insertions, 0 deletions
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