vmk-demo-bot / admin / node_modules / bs-recipes / recipes / gulp.pug /
..
app init 18 days ago
.npmignore init 18 days ago
desc.md init 18 days ago
gulpfile.js init 18 days ago
package.json init 18 days ago
readme.md init 18 days ago
readme.md

#Browsersync - Gulp, SASS + Pug Templates

Installation/Usage:

To try this example, follow these 4 simple steps.

Step 1: Clone this entire repo

$ git clone https://github.com/Browsersync/recipes.git bs-recipes

Step 2: Move into the directory containing this example

$ cd bs-recipes/recipes/gulp.pug

Step 3: Install dependencies

$ npm install

Step 4: Run the example

$ npm start

Additional Info:

This is an upgraded version of gulp.jade recipe from BrowserSync .

Some useful links:

Preview of gulpfile.js:

var gulp        = require('gulp');
var browserSync = require('browser-sync');
var sass        = require('gulp-sass');
var pug         = require('gulp-pug');
var reload      = browserSync.reload;

/**
 * Compile pug files into HTML
 */
gulp.task('templates', function() {

    var YOUR_LOCALS = {
        "message": "This app is powered by gulp.pug recipe for BrowserSync"
    };

    return gulp.src('./app/*.pug')
        .pipe(pug({
            locals: YOUR_LOCALS
        }))
        .pipe(gulp.dest('./dist/'));
});

/**
 * Important!!
 * Separate task for the reaction to `.pug` files
 */
gulp.task('pug-watch', ['templates'], reload);

/**
 * Sass task for live injecting into all browsers
 */
gulp.task('sass', function () {
    return gulp.src('./app/scss/*.scss')
        .pipe(sass()).on('error', sass.logError)
        .pipe(gulp.dest('./dist/css'))
        .pipe(reload({stream: true}));
});

/**
 * Serve and watch the scss/pug files for changes
 */
gulp.task('default', ['sass', 'templates'], function () {

    browserSync({server: './dist'});


    gulp.watch('./app/scss/*.scss', ['sass']);
    gulp.watch('./app/*.pug',       ['pug-watch']);
});