1
var autoprefixer = require('gulp-autoprefixer');
2
var changed = require('gulp-changed');
3
var concat = require('gulp-concat');
4
var csslint = require('gulp-csslint');
5
var csso = require('gulp-csso');
6
var del = require('del');
7
var fs = require('fs');
8
var gulp = require('gulp');
9
var gulpFilter = require('gulp-filter');
10
var phantomcss = require('gulp-phantomcss');
11
var pureGrids = require('rework-pure-grids');
12
var replace = require('gulp-replace');
13
var rework = require('rework');
14
var svgSymbols = require('gulp-svg-symbols');
15
var webserver = require('gulp-webserver');
18
'css': ['src/normalize.css', 'src/*.css'],
19
'normalize': 'node_modules/normalize.css/normalize.css',
20
'grids': 'node_modules/purecss/grids-core.css',
25
gulp.task('default', ['build']);
26
// to be run when newer versions of Pure or normalize are available in npm
27
gulp.task('update', ['clean', 'copy', 'grids', 'build']);
28
gulp.task('test', ['clean', 'build', 'test-small', 'test-large']);
30
gulp.task('watch', function() {
31
gulp.watch(paths.src + '**/*.css', ['build']);
32
gulp.watch([paths.normalize, paths.grids], ['copy']);
33
gulp.watch('gulpfile.js', ['grids']);
36
gulp.task('build', function() {
37
var filter = gulpFilter(['*.css', '!*-small.css']);
38
return gulp.src(paths.css)
39
.pipe(changed(paths.dest))
40
.pipe(csslint('.csslintrc'))
41
.pipe(csslint.reporter())
44
.pipe(gulp.dest(paths.dest))
46
.pipe(concat('ulysses.css'))
47
.pipe(gulp.dest(paths.dest));
50
gulp.task('clean', function(cb) {
51
// You can use multiple globbing patterns as you would with `gulp.src`
52
del([paths.dest], cb);
55
gulp.task('copy', function() {
56
gulp.src([paths.normalize, paths.grids])
57
.pipe(replace(/pure-/g, 'ues-'))
58
.pipe(gulp.dest(paths.src));
61
gulp.task('grids', function() {
63
var css = rework('').use(pureGrids.units([5, 24], {
65
sm : 'screen and (min-width: 30em)',
66
med : 'screen and (min-width: 48em)',
67
lrg : 'screen and (min-width: 64em)',
68
xlrg: 'screen and (min-width: 75em)'
71
selectorPrefix: '.ues-u-'
74
var stream = fs.createWriteStream(paths.src + 'grids-units.css');
75
stream.write(css.toString());
80
gulp.task('symbols', function () {
81
return gulp.src('src/icons/*.svg')
84
className: '.ues-icon-%f',
86
.pipe(gulp.dest('assets'));
89
gulp.task('test-large', function (){
90
return gulp.src('./test/visual/config/desktop.js')
92
screenshots: './test/visual/screenshots/desktop/'
96
gulp.task('test-small', function (){
97
return gulp.src('./test/visual/config/smallscreen.js')
99
screenshots: './test/visual/screenshots/smallscreen/',
100
viewportSize: [320, 480]
104
gulp.task('webserver', function() {