diff --git a/gulpfile.babel.js b/gulpfile.babel.js index d3110ad..de4de54 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -2,7 +2,7 @@ import gulp from 'gulp'; import plugins from 'gulp-load-plugins'; import browser from 'browser-sync'; import rimraf from 'rimraf'; -import panini from 'panini'; +import panini from 'panini/gulp'; import yargs from 'yargs'; import lazypipe from 'lazypipe'; import inky from 'inky'; @@ -48,23 +48,23 @@ function clean(done) { rimraf('dist', done); } +// Panini istance to be shared between `pages()` and `resetPages()` to watch for new files +let _paniniInst = null; + // Compile layouts, pages, and partials into flat HTML files // Then parse using Inky templates function pages() { - return gulp.src(['src/pages/**/*.html', '!src/pages/archive/**/*.html']) - .pipe(panini({ - root: 'src/pages', - layouts: 'src/layouts', - partials: 'src/partials', - helpers: 'src/helpers' - })) + const stream = panini('src'); + _paniniInst = stream._panini; + + return stream .pipe(inky()) .pipe(gulp.dest('dist')); } // Reset Panini's cache of layouts and partials function resetPages(done) { - panini.refresh(); + _paniniInst && _paniniInst.refresh(); done(); } diff --git a/package.json b/package.json index 5dead98..8e9c72b 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "inky": "^1.3.6", "lazypipe": "^1.0.1", "merge-stream": "^1.0.0", - "panini": "^1.3.0", + "panini": "^2.0.0-alpha.2", "rimraf": "^2.3.3", "siphon-media-query": "^1.0.0", "yargs": "^4.1.0"