diff --git a/README.md b/README.md
index 62990bb..88e0669 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,10 @@ Clone the repo `https://github.com/sthag/hippie.git`.
Change to the newly created folder. By default this would be *hippie*.
-Run the command *gulp*.
+Run the command `npm install`.
+This will install all nodejs dependencies into the filder *node_modules*.
+
+Run the command `gulp`.
This will create a folder *build* with the resulting files.
## LOGIC
diff --git a/gulpfile.js b/gulpfile.js
index 8a87b58..bcc8bd9 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -15,6 +15,8 @@ var build = {
root: 'build'
}
+
+var fs = require('fs');
// Load plugins
const gulp = require('gulp'),
rename = require('gulp-rename'),
@@ -25,12 +27,13 @@ concat = require('gulp-concat'),
pump = require('pump'),
sourcemap = require('gulp-sourcemaps'),
prefix = require('gulp-autoprefixer'),
-testsass = require('gulp-sass'),
-sass = require('gulp-ruby-sass'),
+sass = require('gulp-sass'),
+rubysass = require('gulp-ruby-sass'),
nunjucks = require('gulp-nunjucks-render');
cssnano = require('gulp-cssnano'),
jshint = require('gulp-jshint'),
jscs = require('gulp-jscs'),
+useref = require('gulp-useref'),
sasslint = require('gulp-sass-lint'),
uglifyjs = require('uglify-es'),
composer = require('gulp-uglify/composer'),
@@ -42,16 +45,19 @@ changed = require('gulp-changed'),
newer = require('gulp-newer'),
plumber = require('gulp-plumber'),
notify = require('gulp-notify'),
+data = require('gulp-data'),
browsersync = require('browser-sync').create();
var minify = composer(uglifyjs, console);
-// TEST - Tasks
-gulp.task('test', function() {
+
+
+// Task for the looks
+gulp.task('sass', function() {
return gulp.src('source/style/**/*.+(scss|sass)')
.pipe(plumbError('Error Running Sass'))
.pipe(sourcemap.init())
- .pipe(testsass({
+ .pipe(sass({
includePaths: ['source/bower_components']
}))
.pipe(prefix(['>= 4%', 'last 2 version']))
@@ -62,7 +68,9 @@ gulp.task('test', function() {
}))
});
-gulp.task('testsync', function() {
+
+// Task for automagically reload browsers
+gulp.task('syncreload', function() {
browsersync.init({
open: false,
server: 'build',
@@ -70,9 +78,13 @@ gulp.task('testsync', function() {
});
});
-gulp.task('testnunjucks', function() {
+// templating engine
+gulp.task('nunjucks', function() {
return gulp.src('source/pages/**/*.+(html|njk)')
.pipe(plumbError('Error Running Nunjucks'))
+ .pipe(data(function() {
+ return JSON.parse(fs.readFileSync('./source/data.json'))
+ }))
.pipe(nunjucks({
path: ['source/templates'],
envOptions: {
@@ -128,14 +140,17 @@ gulp.task('clean:dev', function() {
+
+
+
// Task - Clean build directory
gulp.task('clean', function() {
return del([build.scripts, build.styles, build.images]);
});
// Task - Styles
-gulp.task('styles', () => sass(source.styles, {sourcemap: true})
-.on('error', sass.logError)
+gulp.task('styles', () => rubysass(source.styles, {sourcemap: true})
+.on('error', rubysass.logError)
// .pipe(newer({dest: build.styles, ext: '.css'}))
.pipe(prefix('last 2 version'))
.pipe(gulp.dest(build.styles))
@@ -172,106 +187,115 @@ gulp.task('images', function() {
return gulp.src(source.images)
.pipe(changed(build.images))
// .pipe(cache(imagemin({
- // optimizationLevel: 3,
- // progressive: true,
- // interlaced: true })))
- // )
- .pipe(gulp.dest(build.images))
- // .pipe(notify({ message: 'Images task complete' }))
- ;
-});
+ // optimizationLevel: 3,
+ // progressive: true,
+ // interlaced: true })))
+ // )
+ .pipe(gulp.dest(build.images))
+ // .pipe(notify({ message: 'Images task complete' }))
+ ;
+ });
-// Task - Vendor
-gulp.task('vendor', function() {
- return gulp.src(source.vendor)
- .pipe(plumbError())
- .pipe(gulp.dest(build.vendor))
- ;
-});
+ // Task - Vendor
+ gulp.task('vendor', function() {
+ return gulp.src(source.vendor)
+ .pipe(plumbError())
+ .pipe(gulp.dest(build.vendor))
+ ;
+ });
-//Task - Nunjucks
-gulp.task('nunjucks', function() {
- return gulp.src(source.pages)
- // .pipe(changed(build.root))
- .pipe(nunjucks({
- path: ['source/templates'],
- envOptions: {
- trimBlocks: true
- }
- }))
- .pipe(gulp.dest(build.root))
-});
+ //Task - Nunjucks
+ gulp.task('oldnunjucks', function() {
+ return gulp.src(source.pages)
+ // .pipe(changed(build.root))
+ .pipe(nunjucks({
+ path: ['source/templates'],
+ envOptions: {
+ trimBlocks: true
+ }
+ }))
+ .pipe(gulp.dest(build.root))
+ });
-// a task that ensures the other task is complete before reloading browsers
-gulp.task('overwatch', ['nunjucks', 'styles'], function(done) {
+ // a task that ensures the other task is complete before reloading browsers
+ gulp.task('overwatch', ['oldnunjucks', 'styles'], function(done) {
browsersync.reload();
done();
-});
-
-
-
-// TEST - Watch
-gulp.task('watch-js', ['lint:js'], browsersync.reload);
-
-gulp.task('testwatch', function() {
- gulp.watch('source/code/**/*.js', ['watch-js'])
- gulp.watch('source/style/**/*.+(scss|sass)', ['test', 'lint:scss']);
- gulp.watch([
- 'source/templates/**/*',
- 'source/pages/**/*.+(html|njk)'
- ], ['testnunjucks']);
-});
-
-
-
-// Watch for file changes
-gulp.task('watch', ['styles', 'scripts', 'nunjucks'], function() {
- browsersync.init({
- open: false,
- server: build.root,
- // proxy: "http://verser.vrt/virtual/"
});
- gulp.watch(source.scripts, ['scripts']).on('change', function(event) {
- if (event.type === 'deleted') {
- delete cache.caches['scripts'][event.path];
- remember.forget('scripts', event.path);
+
+
+ // TEST - Watch
+ gulp.task('watch-js', ['lint:js'], browsersync.reload);
+
+ gulp.task('testwatch', function() {
+ gulp.watch('source/code/**/*.js', ['watch-js'])
+ gulp.watch('source/style/**/*.+(scss|sass)', ['sass', 'lint:scss']);
+ gulp.watch([
+ 'source/templates/**/*',
+ 'source/pages/**/*.+(html|njk)',
+ 'source/data.json'
+ ], ['nunjucks']);
+ });
+
+
+
+ // Old watch for file changes
+ gulp.task('watch', ['styles', 'scripts', 'oldnunjucks'], function() {
+ browsersync.init({
+ open: false,
+ server: build.root,
+ // proxy: "http://verser.vrt/virtual/"
+ });
+
+ gulp.watch(source.scripts, ['scripts']).on('change', function(event) {
+ if (event.type === 'deleted') {
+ delete cache.caches['scripts'][event.path];
+ remember.forget('scripts', event.path);
+ }
+ });
+ // gulp.watch(source.watch, ['overwatch']);
+ gulp.watch(source.watch, ['styles', 'oldnunjucks']).on('change', browsersync.reload);
+ // gulp.watch(source.images, ['images']);
+ });
+
+ gulp.task('olddefault', ['clean', 'styles', 'scripts', 'images', 'nunjucks']);
+
+
+
+
+
+
+ // The default task (called when you run `gulp` from cli)
+ gulp.task('default', function(callback) {
+ sequencer(
+ 'clean:dev',
+ ['sprites', 'lint:js', 'lint:scss'],
+ ['sass', 'nunjucks'],
+ ['syncreload', 'testwatch'],
+ callback
+ )
+ });
+
+
+
+
+
+
+ // function errorHandler(err) {
+ // // Logs out error in the command line
+ // console.log(err.toString());
+ // // Ends the current pipe, so Gulp watch doesn't break
+ // this.emit('end');
+ // }
+
+ function plumbError(errTitle) {
+ return plumber({
+ errorHandler: notify.onError({
+ // Customizing error title
+ title: errTitle || "Error running Gulp",
+ message: "Error: <%= error.message %>",
+ sound: true
+ })
+ });
}
- });
- // gulp.watch(source.watch, ['overwatch']);
- gulp.watch(source.watch, ['styles', 'nunjucks']).on('change', browsersync.reload);
- // gulp.watch(source.images, ['images']);
-});
-
-// The default task (called when you run `gulp` from cli)
-gulp.task('olddefault', ['clean', 'styles', 'scripts', 'images', 'nunjucks']);
-
-gulp.task('default', function(callback) {
- sequencer(
- 'clean:dev',
- ['sprites', 'lint:js', 'lint:scss'],
- ['test', 'testnunjucks'],
- ['testsync', 'testwatch'],
- callback
- )
-});
-
-
-
-// function errorHandler(err) {
-// // Logs out error in the command line
-// console.log(err.toString());
-// // Ends the current pipe, so Gulp watch doesn't break
-// this.emit('end');
-// }
-
-function plumbError(errTitle) {
- return plumber({
- errorHandler: notify.onError({
- // Customizing error title
- title: errTitle || "Error running Gulp",
- message: "Error: <%= error.message %>",
- sound: true
- })
- });
-}
diff --git a/package-lock.json b/package-lock.json
index 226d7c1..268dd6b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -131,12 +131,39 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
+ "ansi-colors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-cyan": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
+ "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
"ansi-escapes": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
"integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
"dev": true
},
+ "ansi-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
+ "dev": true,
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
@@ -149,6 +176,12 @@
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
+ "dev": true
+ },
"anymatch": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
@@ -159,6 +192,15 @@
"normalize-path": "2.1.1"
}
},
+ "append-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "1.0.0"
+ }
+ },
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
@@ -205,6 +247,12 @@
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
+ "arr-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
+ "dev": true
+ },
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
@@ -280,6 +328,12 @@
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
"async": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
@@ -544,6 +598,12 @@
"integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=",
"dev": true
},
+ "buffer-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
+ "dev": true
+ },
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -1425,6 +1485,24 @@
"clone": "1.0.2"
}
},
+ "define-properties": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+ "dev": true,
+ "requires": {
+ "foreach": "2.0.5",
+ "object-keys": "1.0.11"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
+ "dev": true
+ }
+ }
+ },
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -1571,6 +1649,12 @@
"domelementtype": "1.3.0"
}
},
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
+ },
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
@@ -2134,6 +2218,21 @@
"es5-ext": "0.10.30"
}
},
+ "event-stream": {
+ "version": "3.3.4",
+ "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1",
+ "from": "0.1.7",
+ "map-stream": "0.1.0",
+ "pause-stream": "0.0.11",
+ "split": "0.3.3",
+ "stream-combiner": "0.0.4",
+ "through": "2.3.8"
+ }
+ },
"eventemitter3": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
@@ -2216,6 +2315,23 @@
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
+ "extend-shallow": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "dev": true,
+ "requires": {
+ "kind-of": "1.1.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
+ "dev": true
+ }
+ }
+ },
"extglob": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
@@ -2450,6 +2566,16 @@
"integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
"dev": true
},
+ "flush-write-stream": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -2506,6 +2632,12 @@
"integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=",
"dev": true
},
+ "from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
+ "dev": true
+ },
"front-matter": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/front-matter/-/front-matter-2.1.2.tgz",
@@ -2532,6 +2664,16 @@
"universalify": "0.1.1"
}
},
+ "fs-mkdirp-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "through2": "2.0.3"
+ }
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -3075,6 +3217,17 @@
"vinyl-sourcemaps-apply": "0.2.1"
}
},
+ "gulp-data": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/gulp-data/-/gulp-data-1.3.1.tgz",
+ "integrity": "sha512-fvpQJvgVyhkwRcFP3Y9QUS9sWvIFsAlJDinQjhLuknmHZz52jH0gHmTujYBFjr9aTlTHlrAayY5m1d0tA1HzGQ==",
+ "dev": true,
+ "requires": {
+ "plugin-error": "0.1.2",
+ "through2": "2.0.3",
+ "util-extend": "1.0.3"
+ }
+ },
"gulp-if": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz",
@@ -3581,6 +3734,188 @@
}
}
},
+ "gulp-useref": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/gulp-useref/-/gulp-useref-3.1.5.tgz",
+ "integrity": "sha1-vrjgCcGfgZ9gTejRkdsSi9JEqnA=",
+ "dev": true,
+ "requires": {
+ "event-stream": "3.3.4",
+ "extend": "3.0.1",
+ "glob": "7.1.2",
+ "gulp-concat": "2.6.1",
+ "gulp-if": "2.0.2",
+ "is-relative-url": "1.0.0",
+ "plugin-error": "1.0.1",
+ "through2": "2.0.3",
+ "useref": "1.4.1",
+ "vinyl-fs": "3.0.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "clone": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "requires": {
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "requires": {
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
+ }
+ },
+ "glob-stream": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
+ "dev": true,
+ "requires": {
+ "extend": "3.0.1",
+ "glob": "7.1.2",
+ "glob-parent": "3.1.0",
+ "is-negated-glob": "1.0.0",
+ "ordered-read-streams": "1.0.1",
+ "pumpify": "1.4.0",
+ "readable-stream": "2.3.3",
+ "remove-trailing-separator": "1.1.0",
+ "to-absolute-glob": "2.0.2",
+ "unique-stream": "2.2.1"
+ }
+ },
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ },
+ "ordered-read-streams": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
+ "plugin-error": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "1.1.0",
+ "arr-diff": "4.0.0",
+ "arr-union": "3.1.0",
+ "extend-shallow": "3.0.2"
+ }
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "unique-stream": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "1.0.1",
+ "through2-filter": "2.0.0"
+ }
+ },
+ "vinyl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
+ "dev": true,
+ "requires": {
+ "clone": "2.1.1",
+ "clone-buffer": "1.0.0",
+ "clone-stats": "1.0.0",
+ "cloneable-readable": "1.0.0",
+ "remove-trailing-separator": "1.1.0",
+ "replace-ext": "1.0.0"
+ }
+ },
+ "vinyl-fs": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.2.tgz",
+ "integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
+ "dev": true,
+ "requires": {
+ "fs-mkdirp-stream": "1.0.0",
+ "glob-stream": "6.1.0",
+ "graceful-fs": "4.1.11",
+ "is-valid-glob": "1.0.0",
+ "lazystream": "1.0.0",
+ "lead": "1.0.0",
+ "object.assign": "4.1.0",
+ "pumpify": "1.4.0",
+ "readable-stream": "2.3.3",
+ "remove-bom-buffer": "3.0.0",
+ "remove-bom-stream": "1.2.0",
+ "resolve-options": "1.1.0",
+ "through2": "2.0.3",
+ "to-through": "2.0.0",
+ "value-or-function": "3.0.0",
+ "vinyl": "2.1.0",
+ "vinyl-sourcemap": "1.1.0"
+ }
+ }
+ }
+ },
"gulp-util": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
@@ -3830,6 +4165,12 @@
"sparkles": "1.0.0"
}
},
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true
+ },
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
@@ -4196,6 +4537,12 @@
"xtend": "4.0.1"
}
},
+ "is-negated-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
+ "dev": true
+ },
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
@@ -4294,6 +4641,23 @@
"is-unc-path": "0.1.2"
}
},
+ "is-relative-url": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-1.0.0.tgz",
+ "integrity": "sha1-h6nTXop4m0ngebTX1p1kYS6ODh8=",
+ "dev": true,
+ "requires": {
+ "is-absolute-url": "1.0.0"
+ },
+ "dependencies": {
+ "is-absolute-url": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-1.0.0.tgz",
+ "integrity": "sha1-LX7w/QuyqI2sfpIlPGgIoKziS/s=",
+ "dev": true
+ }
+ }
+ },
"is-resolvable": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
@@ -4333,6 +4697,12 @@
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
+ "dev": true
+ },
"is-windows": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
@@ -4653,6 +5023,15 @@
"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
"dev": true
},
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.3"
+ }
+ },
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
@@ -4662,6 +5041,15 @@
"invert-kv": "1.0.0"
}
},
+ "lead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
+ "dev": true,
+ "requires": {
+ "flush-write-stream": "1.0.3"
+ }
+ },
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -5138,6 +5526,12 @@
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
+ "map-stream": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
+ "dev": true
+ },
"math-expression-evaluator": {
"version": "1.2.17",
"resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
@@ -5615,6 +6009,15 @@
"sort-keys": "1.1.2"
}
},
+ "now-and-later": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
"npmlog": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
@@ -5716,6 +6119,26 @@
"integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=",
"dev": true
},
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
+ "requires": {
+ "define-properties": "1.1.2",
+ "function-bind": "1.1.1",
+ "has-symbols": "1.0.0",
+ "object-keys": "1.0.11"
+ },
+ "dependencies": {
+ "object-keys": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
+ "dev": true
+ }
+ }
+ },
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
@@ -5998,6 +6421,12 @@
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
},
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
@@ -6057,6 +6486,15 @@
"integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=",
"dev": true
},
+ "pause-stream": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
@@ -6115,6 +6553,37 @@
"integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
"dev": true
},
+ "plugin-error": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
+ "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "dev": true,
+ "requires": {
+ "ansi-cyan": "0.1.1",
+ "ansi-red": "0.1.1",
+ "arr-diff": "1.1.0",
+ "arr-union": "2.1.0",
+ "extend-shallow": "1.1.4"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0",
+ "array-slice": "0.2.3"
+ }
+ },
+ "array-slice": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "dev": true
+ }
+ }
+ },
"plur": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz",
@@ -7289,6 +7758,50 @@
}
}
},
+ "pumpify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
+ "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
+ "dev": true,
+ "requires": {
+ "duplexify": "3.5.4",
+ "inherits": "2.0.3",
+ "pump": "2.0.1"
+ },
+ "dependencies": {
+ "duplexify": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
+ "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.3",
+ "stream-shift": "1.0.0"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ }
+ }
+ },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -7592,6 +8105,27 @@
"is-equal-shallow": "0.1.3"
}
},
+ "remove-bom-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.5",
+ "is-utf8": "0.2.1"
+ }
+ },
+ "remove-bom-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
+ "dev": true,
+ "requires": {
+ "remove-bom-buffer": "3.0.0",
+ "safe-buffer": "5.1.1",
+ "through2": "2.0.3"
+ }
+ },
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@@ -7722,6 +8256,15 @@
"integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
"dev": true
},
+ "resolve-options": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
+ "dev": true,
+ "requires": {
+ "value-or-function": "3.0.0"
+ }
+ },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -8351,6 +8894,15 @@
"integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
"dev": true
},
+ "split": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -8572,6 +9124,15 @@
"readable-stream": "2.3.3"
}
},
+ "stream-combiner": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
+ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
+ "dev": true,
+ "requires": {
+ "duplexer": "0.1.1"
+ }
+ },
"stream-consume": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
@@ -8830,6 +9391,16 @@
"xtend": "4.0.1"
}
},
+ "through2-filter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3",
+ "xtend": "4.0.1"
+ }
+ },
"tildify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
@@ -8855,6 +9426,52 @@
"next-tick": "1.0.0"
}
},
+ "to-absolute-glob": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "1.0.0",
+ "is-negated-glob": "1.0.0"
+ },
+ "dependencies": {
+ "is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "dev": true,
+ "requires": {
+ "is-relative": "1.0.0",
+ "is-windows": "1.0.2"
+ }
+ },
+ "is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "dev": true,
+ "requires": {
+ "is-unc-path": "1.0.0"
+ }
+ },
+ "is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "dev": true,
+ "requires": {
+ "unc-path-regex": "0.1.2"
+ }
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
+ }
+ }
+ },
"to-array": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
@@ -8873,6 +9490,15 @@
"integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=",
"dev": true
},
+ "to-through": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
+ },
"tough-cookie": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
@@ -9059,6 +9685,12 @@
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
"dev": true
},
+ "useref": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/useref/-/useref-1.4.1.tgz",
+ "integrity": "sha1-Atq60QsahQJdlkJS/KMbgFkxrX0=",
+ "dev": true
+ },
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
@@ -9082,6 +9714,12 @@
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
+ "util-extend": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
+ "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=",
+ "dev": true
+ },
"utile": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
@@ -9135,6 +9773,12 @@
"spdx-expression-parse": "1.0.4"
}
},
+ "value-or-function": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
+ "dev": true
+ },
"vendors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz",
@@ -9298,6 +9942,55 @@
}
}
},
+ "vinyl-sourcemap": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
+ "dev": true,
+ "requires": {
+ "append-buffer": "1.0.2",
+ "convert-source-map": "1.5.0",
+ "graceful-fs": "4.1.11",
+ "normalize-path": "2.1.1",
+ "now-and-later": "2.0.0",
+ "remove-bom-buffer": "3.0.0",
+ "vinyl": "2.1.0"
+ },
+ "dependencies": {
+ "clone": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
+ "dev": true
+ },
+ "clone-stats": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
+ "dev": true
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "vinyl": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
+ "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
+ "dev": true,
+ "requires": {
+ "clone": "2.1.1",
+ "clone-buffer": "1.0.0",
+ "clone-stats": "1.0.0",
+ "cloneable-readable": "1.0.0",
+ "remove-trailing-separator": "1.1.0",
+ "replace-ext": "1.0.0"
+ }
+ }
+ }
+ },
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
diff --git a/package.json b/package.json
index d8cbb6c..8d5dead 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"gulp-changed": "^3.1.0",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
+ "gulp-data": "^1.3.1",
"gulp-if": "^2.0.2",
"gulp-jscs": "^4.0.0",
"gulp-jshint": "^2.0.4",
@@ -39,6 +40,7 @@
"gulp-sass-lint": "^1.3.3",
"gulp-sourcemaps": "^2.6.1",
"gulp-uglify": "^3.0.0",
+ "gulp-useref": "^3.1.5",
"gulp.spritesmith": "^6.5.1",
"jshint": "^2.9.5",
"jshint-stylish": "^2.2.1",
diff --git a/source/data.json b/source/data.json
new file mode 100644
index 0000000..0086589
--- /dev/null
+++ b/source/data.json
@@ -0,0 +1,34 @@
+{
+ "demolinks": [
+ {
+ "href": "demo/intro.html",
+ "text": "Intro"
+ },
+ {
+ "href": "demo/os.html",
+ "text": "OS"
+ },
+ {
+ "href": "demo/error/404.html",
+ "text": "404"
+ },
+ {
+ "href": "demo/error/500.html",
+ "text": "500"
+ }
+ ],
+ "links": [
+ {
+ "href": "elements.html",
+ "text": "Elements"
+ },
+ {
+ "href": "blank.html",
+ "text": "Blank"
+ },
+ {
+ "href": "tests.html",
+ "text": "Tests"
+ }
+ ]
+}
diff --git a/source/pages/demo/blank.njk b/source/pages/blank.njk
similarity index 100%
rename from source/pages/demo/blank.njk
rename to source/pages/blank.njk
diff --git a/source/pages/demo/intro.njk b/source/pages/demo/intro.njk
index 97ffbd1..85ea3b1 100644
--- a/source/pages/demo/intro.njk
+++ b/source/pages/demo/intro.njk
@@ -486,9 +486,9 @@
Überschrift als Block-Verweis
-
section>div.box__inline_left>img^p+p
+ section>div.float_space_left>img^p+p


Vorname Name
Straße 1, 01234 Stadt
+49 (0)123 1337 0000
name@domain.tld
div.box__main_indent
diff --git a/source/pages/demo/os.njk b/source/pages/demo/os.njk
index c360ddf..ba29c44 100644
--- a/source/pages/demo/os.njk
+++ b/source/pages/demo/os.njk
@@ -2,7 +2,7 @@
{% set pageId = "os" %}
{% set pageClass = "" %}
-{% extends "default.njk" %}
+{% extends "demo.njk" %}
{% block title %}demo{% endblock %}
{% block head %}
diff --git a/source/pages/index.njk b/source/pages/index.njk
index d3aaca7..c6cd661 100644
--- a/source/pages/index.njk
+++ b/source/pages/index.njk
@@ -12,18 +12,27 @@
{% block body_content %}
You can start using it by replacing this file with your own index page.
+The folder demo contains examples and also an overview of definitions made.
Follow the white rabbit.
+ ()()
+ (..)
+C(")(")
+