-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
100 lines (82 loc) · 2.74 KB
/
Copy pathgulpfile.js
File metadata and controls
100 lines (82 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
'use strict';
const gulp = require('gulp');
const sass = require('gulp-sass');
const browserify = require('gulp-browserify');
const rename = require('gulp-rename');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const browserSync = require('browser-sync').create();
const config = {
source: "./src/",
dist: "./public/"
};
const paths = {
assets: "assets/",
html: "/*.html",
js: "js/**/*.js",
components: "js/components/**.js",
utils: "js/utils/**.js",
sass: "scss/**/*.scss",
mainSass: "scss/style.scss",
img: "img/*.png",
mainJs: "js/index.js"
};
const sources = {
assets: config.source + paths.assets,
html: config.source + paths.html,
sass: paths.assets + paths.sass,
js: paths.assets + paths.js,
img: paths.assets + paths.img,
components: config.source + paths.assets + paths.components,
utils: config.source + paths.assets + paths.utils,
rootSass: config.source + paths.assets + paths.mainSass,
rootJs: config.source + paths.assets + paths.mainJs
};
gulp.task('html', () => {
gulp.src(sources.html)
.pipe(gulp.dest(config.dist));
});
gulp.task('sass', () => {
gulp.src(sources.rootSass)
.pipe(sass({
outputStyle: "compressed"
}).on("Error", sass.logError))
.pipe(gulp.dest(config.dist + paths.assets + "css"));
});
gulp.task('js', () => {
gulp.src(["./src/assets/js/components/secondary.js","./src/assets/js/components/detailNews.js","./src/assets/js/components/carousel.js","./src/assets/js/components/principal.js","./src/assets/js/components/opinion.js","./src/assets/js/components/educacion.js","./src/assets/js/components/tecnologia.js", "./src/assets/js/components/mundo.js", "./src/assets/js/components/header.js", "./src/assets/js/utils/utilities.js", "./src/assets/js/utils/get-json.js","./src/assets/js/components/footer.js", "./src/assets/js/index.js"])
.pipe(concat('index.js'))
.pipe(browserify())
.pipe(gulp.dest(config.dist + paths.assets + "js"))
});
gulp.task('img', ()=>{
gulp.src(config.source+sources.img)
.pipe(gulp.dest(config.dist+paths.assets+"img"))
});
gulp.task('sass-watch',['sass'], (done)=>{
browserSync.reload();
done();
});
gulp.task('js-watch',['js'], (done)=>{
browserSync.reload();
done();
});
gulp.task('html-watch',['html'], (done)=>{
browserSync.reload();
done();
});
gulp.task('img-watch',['img'], (done)=>{
browserSync.reload();
done();
});
gulp.task('serve', ()=>{
browserSync.init({
server:{
baseDir: config.dist
}
});
gulp.watch(sources.html, ['html-watch']);
gulp.watch(config.source+sources.sass, ['sass-watch']);
gulp.watch(config.source+sources.js, ['js-watch']);
gulp.watch(config.source+sources.img, ['img-watch']);
});