Skip to content
Snippets Groups Projects
gulpfile.js 2.19 KiB
Newer Older
Cédric Krier's avatar
Cédric Krier committed
var gulp = require('gulp');
var uglify = require('gulp-uglify');
Cédric Krier's avatar
Cédric Krier committed
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
Cédric Krier's avatar
Cédric Krier committed
var cleanCSS = require('gulp-clean-css');
var rename = require("gulp-rename");
var sourcemaps = require('gulp-sourcemaps');
var iconfont = require('gulp-iconfont');
var iconfontCss = require('gulp-iconfont-css');
var sequence = require('run-sequence');
Cédric Krier's avatar
Cédric Krier committed
var cssFileName = 'screen';
var fontName = 'Icons';
Cédric Krier's avatar
Cédric Krier committed

gulp.task('js', function() {
    gulp.src([
        'node_modules/jquery/dist/jquery.slim.js',
        'node_modules/popper.js/dist/umd/popper.js',
        'node_modules/bootstrap/dist/js/bootstrap.js',
        'node_modules/wowjs/dist/wow.js',
        'node_modules/leaflet/dist/leaflet.js',
Cédric Krier's avatar
Cédric Krier committed
        'js/wow.js',
        'js/highlight.pack.js',
        'js/highlight.js',
        .pipe(sourcemaps.init())
        .pipe(gulp.dest('static/js/'))
Cédric Krier's avatar
Cédric Krier committed
        .pipe(concat('all.js'))
        .pipe(uglify())
        .pipe(sourcemaps.write('.'))
Cédric Krier's avatar
Cédric Krier committed
        .pipe(gulp.dest('static/js/'));
});

gulp.task('sass', function() {
    gulp.src('sass/' + cssFileName + '.scss')
        .pipe(sourcemaps.init())
        .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
        .pipe(rename(cssFileName + '.min.css'))
        .pipe(autoprefixer())
Cédric Krier's avatar
Cédric Krier committed
        .pipe(cleanCSS())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('static/css/'));
});

gulp.task('iconfont', function(callback) {
    gulp.src(['iconfont/*.svg'])
        .pipe(iconfontCss({
            fontName: fontName,
            targetPath: '../../sass/iconfont/_icons.scss',
            fontPath: '../../static/fonts/'
        }))
        .pipe(iconfont({
            fontName: fontName,
            formats: ['svg', 'ttf', 'eot', 'woff', 'woff2'],
            normalize: true,
            fontHeight: 1000
        }))
        .pipe(gulp.dest('static/fonts/'))
        .on('end', callback);
});

gulp.task('css', function(done) {
    sequence('iconfont', 'sass', done);
Cédric Krier's avatar
Cédric Krier committed
gulp.task('watch', function() {
    gulp.watch(['sass/*', 'sass/*/*', 'sass/*/*/*'], ['sass']);
    gulp.watch(['iconfont/*'], ['iconfont']);
gulp.task('default', ['js', 'css']);