Skip to content

Instantly share code, notes, and snippets.

@Langmans
Last active October 30, 2015 07:47
Show Gist options
  • Save Langmans/91e418d9e53ceafc30ff to your computer and use it in GitHub Desktop.
Save Langmans/91e418d9e53ceafc30ff to your computer and use it in GitHub Desktop.
my gulpfile for making websites.

install

npm install

run

gulp

where to store files

web/src/scss web/src/js

where files will be written

web/build/css web/build/js

(function () {
'use strict';
var gulp = require('gulp'),
header = require('gulp-header'),
sass = require('gulp-sass'),
sourcemaps = require('gulp-sourcemaps'),
cssmin = require('gulp-cssmin'),
rename = require('gulp-rename'),
uglify = require('gulp-uglify'),
del = require('del'),
autoprefixer = require('gulp-autoprefixer'),
scss_selector = './web/_src/scss/**/*.scss',
css_dir = './web/build/css',
js_dir = './web/build/js',
js_selector = './web/_src/js/**/*.js',
banner = ['/*!',
' * @copyright Dragon Media Group B.V.',
' * @generated ' + (new Date()).toLocaleString(),
' */',
''].join('\n')
;
gulp.task('scss', function () {
del('web/build/**/*.css');
gulp.src(scss_selector)
.pipe(sourcemaps.init())
.pipe(sass({
style: 'expanded',
sourceComments: 'normal'
}))
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(header(banner))
.pipe(sourcemaps.write())
.pipe(gulp.dest(css_dir))
.pipe(cssmin({
//processImport: true,
//processImportFrom: 'all',
showLog: true
}))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(css_dir))
;
});
gulp.task('js', function () {
del('web/build/**/*.js');
gulp.src(js_selector)
.pipe(header(banner))
.pipe(gulp.dest(js_dir))
.pipe(uglify({
preserveComments: 'license',
output: {
ascii_only: true,
inline_script: true
}
}))
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest(js_dir));
});
gulp.task('default', ['scss', 'js'], function () {
gulp.watch([js_selector], ['js']);
gulp.watch([scss_selector], ['scss']);
});
})();
{
"name": "project-name",
"version": "1.0.0",
"description": "",
"main": "Gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "user <[email protected]>",
"license": "ISC",
"devDependencies": {
"del": "^2.0.2",
"gulp": "^3.9.0",
"gulp-autoprefixer": "^3",
"gulp-cssmin": "^0.1.7",
"gulp-header": "^1.7.1",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.0.4",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment