mirror of
https://github.com/manualdousuario/marreta.git
synced 2025-09-01 10:10:14 +00:00
114 lines
No EOL
3 KiB
JavaScript
114 lines
No EOL
3 KiB
JavaScript
"use strict";
|
|
|
|
const gulp = require('gulp');
|
|
const sass = require('gulp-sass')(require('sass'));
|
|
const concat = require('gulp-concat');
|
|
const uglify = require('gulp-uglify');
|
|
const clean_css = require('gulp-clean-css');
|
|
const sourcemaps = require('gulp-sourcemaps');
|
|
const imagemin = require('gulp-imagemin');
|
|
const webp = require('gulp-webp');
|
|
const newer = require('gulp-newer');
|
|
const rename = require('gulp-rename');
|
|
const ttf2woff = require('gulp-ttf2woff');
|
|
const ttf2woff2 = require('gulp-ttf2woff2');
|
|
const ttf2eot = require('gulp-ttf2eot');
|
|
const svgmin = require('gulp-svgmin');
|
|
|
|
const paths = {
|
|
styles: {
|
|
src: 'assets/scss/*.scss',
|
|
dest: 'dist/css'
|
|
},
|
|
scripts: {
|
|
src: 'assets/js/*.js',
|
|
dest: 'dist/js'
|
|
},
|
|
images: {
|
|
src: 'assets/images/**/*',
|
|
dest: 'dist/images'
|
|
},
|
|
fonts: {
|
|
src: 'assets/fonts/**/*.ttf',
|
|
dest: 'dist/fonts'
|
|
},
|
|
icons: {
|
|
src: 'assets/icons/**/*.svg',
|
|
dest: 'dist/icons'
|
|
}
|
|
};
|
|
|
|
function styles() {
|
|
return gulp.src(paths.styles.src)
|
|
.pipe(sourcemaps.init())
|
|
.pipe(sass({
|
|
outputStyle: "expanded",
|
|
includePaths: ['./node_modules']
|
|
}))
|
|
.pipe(concat('style.css'))
|
|
.pipe(clean_css())
|
|
.pipe(gulp.dest(paths.styles.dest))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(paths.styles.dest))
|
|
}
|
|
|
|
function scripts() {
|
|
return gulp.src(paths.scripts.src)
|
|
.pipe(sourcemaps.init())
|
|
.pipe(concat('scripts.js'))
|
|
.pipe(uglify())
|
|
.pipe(gulp.dest(paths.scripts.dest))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(paths.scripts.dest))
|
|
}
|
|
|
|
function images() {
|
|
return gulp.src(paths.images.src)
|
|
.pipe(newer(paths.images.dest))
|
|
.pipe(imagemin())
|
|
.pipe(gulp.dest(paths.images.dest))
|
|
.pipe(webp())
|
|
.pipe(gulp.dest(paths.images.dest))
|
|
}
|
|
|
|
function icons() {
|
|
return gulp.src(paths.icons.src)
|
|
.pipe(newer(paths.icons.dest))
|
|
.pipe(svgmin())
|
|
.pipe(gulp.dest(paths.icons.dest))
|
|
}
|
|
|
|
function fonts() {
|
|
return gulp.src(paths.fonts.src)
|
|
.pipe(newer(paths.fonts.dest))
|
|
|
|
.pipe(ttf2woff())
|
|
.pipe(rename({ extname: '.woff' }))
|
|
.pipe(gulp.dest(paths.fonts.dest))
|
|
|
|
.pipe(gulp.src(paths.fonts.src))
|
|
.pipe(ttf2woff2())
|
|
.pipe(rename({ extname: '.woff2' }))
|
|
.pipe(gulp.dest(paths.fonts.dest))
|
|
|
|
.pipe(gulp.src(paths.fonts.src))
|
|
.pipe(ttf2eot())
|
|
.pipe(rename({ extname: '.eot' }))
|
|
.pipe(gulp.dest(paths.fonts.dest))
|
|
|
|
.pipe(gulp.src(paths.fonts.src))
|
|
.pipe(gulp.dest(paths.fonts.dest));
|
|
}
|
|
|
|
function watch() {
|
|
gulp.watch(paths.styles.src, styles);
|
|
gulp.watch(paths.scripts.src, scripts);
|
|
gulp.watch(paths.images.src, images);
|
|
gulp.watch(paths.fonts.src, fonts);
|
|
gulp.watch(paths.icons.src, icons);
|
|
}
|
|
|
|
exports.default = gulp.series(
|
|
gulp.parallel(styles, scripts, images, fonts, icons),
|
|
watch
|
|
); |