#Browsersync - Gulp & Swig Templates ## Installation/Usage: To try this example, follow these 4 simple steps. **Step 1**: Clone this entire repo ```bash $ git clone https://github.com/Browsersync/recipes.git bs-recipes ``` **Step 2**: Move into the directory containing this example ```bash $ cd bs-recipes/recipes/gulp.swig ``` **Step 3**: Install dependencies ```bash $ npm install ``` **Step 4**: Run the example ```bash $ npm start ``` ### Additional Info: This example will build HTML files from `./app` with `gulp-swig` and place them into the `dist` folder. Browsersync then serves from that folder and reloads after the templates are compiled. ### Preview of `gulpfile.js`: ```js var gulp = require('gulp'); var browserSync = require('browser-sync'); var sass = require('gulp-sass'); var swig = require('gulp-swig'); var reload = browserSync.reload; var src = { scss: 'app/scss/*.scss', css: 'app/css', html: 'app/*.html' }; // Static Server + watching scss/html files gulp.task('serve', ['sass'], function() { browserSync({ server: "./dist" }); gulp.watch(src.scss, ['sass']); gulp.watch(src.html, ['templates']); }); // Swig templates gulp.task('templates', function() { return gulp.src(src.html) .pipe(swig()) .pipe(gulp.dest('./dist')) .on("end", reload); }); // Compile sass into CSS gulp.task('sass', function() { return gulp.src(src.scss) .pipe(sass()) .pipe(gulp.dest(src.css)) .pipe(reload({stream: true})); }); gulp.task('default', ['serve']); ```