Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // define modules
- var fs = require('fs');
- const { src, dest, parallel } = require('gulp');
- var sass = require('gulp-sass');
- var chokidar = require('chokidar');
- var concat = require('gulp-concat');
- var settings = JSON.parse(fs.readFileSync('sync.json', 'utf8'));
- var request = require('request');
- var path = require('path');
- // syncing files
- var watcher = chokidar.watch([
- "./**/*.jpeg",
- "./**/*.jpg",
- "./**/*.svg",
- "./**/*.png",
- "./**/*.gif",
- "./**/*.html",
- "./**/*.css",
- "./**/*.js"
- ], {
- ignorePermissionErrors: true,
- ignoreInitial: true,
- ignored: [
- "node_modules",
- "gulpfile.js"
- ]
- });
- // animate css
- function animateCss() {
- return src([
- './node_modules/animate.css/animate.min.css',
- ])
- .pipe(sass({
- outputStyle: 'compressed'
- })
- .on('error', sass.logError))
- .pipe(concat('animate.css'))
- .pipe(gulp.dest('./css'));
- };
- // app scss
- function appSass() {
- return src([
- './scss/app.scss'
- ])
- .pipe(sass().on('error', sass.logError))
- .pipe(gulp.dest('./css'));
- };
- // watch bootstrap files
- watch(['./scss/app.scss', './scss/bootstrap.variables.scss'], series(appSass));
- // bootstrap sass
- function bootstrapSass() {
- return gulp.src([
- './scss/bootstrap.scss',
- './scss/bootstrap.rtl.scss'
- ])
- .pipe(sass({
- outputStyle: 'compressed'
- })
- .on('error', sass.logError))
- .pipe(gulp.dest('./css'));
- };
- // watch bootstrap files
- watch(['./scss/bootstrap.base.scss', './scss/bootstrap.custom.scss', './scss/bootstrap.rtl.scss', './scss/bootstrap.scss', './scss/bootstrap.variables.scss'], series(bootstrapSass));
- // bootstrap js
- function bootstrapJs() {
- return src([
- './node_modules/jquery/dist/jquery.min.js',
- './node_modules/popper.js/dist/umd/popper.min.js',
- './node_modules/bootstrap/dist/js/bootstrap.min.js',
- ])
- .pipe(concat('bootstrap.js'))
- .pipe(gulp.dest('./js'));
- };
- // owl sass
- function owlSass() {
- return src([
- './node_modules/owl.carousel/src/scss/owl.carousel.scss',
- './node_modules/owl.carousel/src/scss/owl.theme.default.scss'
- ])
- .pipe(sass({
- outputStyle: 'compressed'
- })
- .on('error', sass.logError))
- .pipe(concat('owl.carousel.css'))
- .pipe(gulp.dest('./css'));
- };
- // owl js
- function owlJs() {
- return src([
- './node_modules/owl.carousel/dist/owl.carousel.min.js'
- ])
- .pipe(concat('owl.carousel.js'))
- .pipe(gulp.dest('./js'));
- };
- // magnific sass
- function magnificSass() {
- return src([
- './node_modules/magnific-popup/src/css/main.scss',
- ])
- .pipe(sass({
- outputStyle: 'compressed'
- })
- .on('error', sass.logError))
- .pipe(concat('magnific.popup.css'))
- .pipe(gulp.dest('./css'));
- };
- // magnific js
- function magnificJs() {
- return src([
- './node_modules/magnific-popup/dist/jquery.magnific-popup.min.js'
- ])
- .pipe(concat('magnific.popup.js'))
- .pipe(gulp.dest('./js'));
- };
- // file added
- watcher.on('add', function (file) {
- request({
- auth: {
- user: settings.username,
- pass: settings.password,
- },
- gzip: true,
- filename: file,
- method: 'POST',
- url: settings.api + '/upload',
- formData: {
- dummy_name: 'false',
- path: settings.path + path.dirname(file),
- files: [
- fs.createReadStream(file)
- ]
- }
- }, response);
- });
- // file changed
- watcher.on('change', function (file) {
- request({
- auth: {
- user: settings.username,
- pass: settings.password,
- },
- gzip: true,
- filename: file,
- method: 'POST',
- url: settings.api + '/upload',
- formData: {
- dummy_name: 'false',
- path: settings.path + path.dirname(file),
- files: [
- fs.createReadStream(file)
- ]
- }
- }, response);
- });
- // file removed
- watcher.on('unlink', function (file) {
- request({
- auth: {
- user: settings.username,
- pass: settings.password,
- },
- gzip: true,
- filename: file,
- method: 'DELETE',
- url: settings.api,
- qs: {
- path: settings.path + path.dirname(file),
- files: [
- path.basename(file)
- ]
- }
- }, response);
- });
- function response(error, response, body) {
- response && console[response.statusCode != 200 ? 'error' : 'log']('Status:', response.statusCode, response.request.filename);
- }
- exports.default = parallel(animateCss, bootstrapSass, bootstrapJs, owlSass, owlJs, magnificSass, magnificJs, appSass);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement