Skip to content

Instantly share code, notes, and snippets.

@mrtnmgs
Created October 8, 2018 22:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrtnmgs/add6cf6e0925ef215a9401406d8a95d6 to your computer and use it in GitHub Desktop.
Save mrtnmgs/add6cf6e0925ef215a9401406d8a95d6 to your computer and use it in GitHub Desktop.
Default gulp config for small WP / static sites
// npm i -D gulp gulp-sass gulp-clean-css gulp-watch gulp-sourcemaps gulp-rename gulp-autoprefixer gulp-nunjucks-render browser-sync
// requires gulp >= 4.0.0
var gulp = require('gulp');
var sass = require('gulp-sass');
var cleanCSS = require('gulp-clean-css');
var watch = require('gulp-watch');
var sourcemaps = require('gulp-sourcemaps');
var rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer');
var nunjucksRender = require('gulp-nunjucks-render');
var browserSync = require('browser-sync').create();
var reload = browserSync.reload;
var sassOptions = {
errLogToConsole: true,
outputStyle: 'compressed'
}
var cleanCSSOptions = {
compatibility: 'ie8'
}
gulp.task('sass', function() {
return gulp.src('sass/main.scss')
.pipe(sourcemaps.init())
.pipe(sass(sassOptions).on('error', sass.logError))
.pipe(cleanCSS(cleanCSSOptions))
.pipe(sourcemaps.write())
.pipe(autoprefixer())
.pipe(rename('style.css'))
.pipe(gulp.dest('.'))
.pipe(browserSync.stream());
});
gulp.task('nunjucks', function() {
return gulp.src('templates/pages/**/*.nunjucks')
.pipe(nunjucksRender({
path: ['templates']
}))
.pipe(gulp.dest('.'))
.pipe(browserSync.stream());
});
gulp.task('serve', gulp.series('sass', function () {
browserSync.init({
browser: "google chrome",
proxy: "http://localhost/~martin/xx/", // useful for wp sites for instance
port: 2345
});
gulp.watch('./sass/**/*.scss', gulp.series('sass'));
gulp.watch('./templates/**/*.nunjucks', gulp.series('nunjucks'));
gulp.watch('*.php').on('change', reload);
gulp.watch('js/*.js').on('change', reload);
}));
gulp.task('default', gulp.series('serve'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment