UNPKG

slush-squarespace

Version:

A slush generator for working in an external environment on the Squarespace consumer platform

97 lines (86 loc) 2.41 kB
var gulp = require('gulp'), install = require('gulp-install'), conflict = require('gulp-conflict'), template = require('gulp-template'), inquirer = require('inquirer'); del = require('del'); function format(string) { var username = string.toLowerCase(); return username.replace(/\s/g, '-'); } gulp.task('default', function (done) { // gather information inquirer.prompt([ { type: 'input', name: 'name', message: 'What is your project\'s name?', default: process.cwd().split('/').pop().split('\\').pop() }, { type: 'input', name: 'description', message: 'What is your project\'s description?', default: 'Best consumer Squarespace site yet!' }, { type: "checkbox", message: "Do You Want Any Extra Tools?", name: "tools", choices: [ { name: "Auto SFTP", checked: true }, { name: "include-media", checked: true }, { name: "Owl Carousel 2", }, { name: "handlebars" }, { name: "Simple Grid" }, { name: "Waypoints" }, { name: "Animate.css" }] } ], // build process function (answers) { answers.name = format( answers.name ); var noOwl = answers.tools.indexOf("Owl Carousel 2") == -1, addSimpleGrid = answers.tools.indexOf("Simple Grid") > -1, addAnimate = answers.tools.indexOf("Animate.css") > -1, addWaypoints = answers.tools.indexOf("Waypoints") > -1, addHandlebars = answers.tools.indexOf("handlebars") > -1 gulp.src(__dirname + '/templates/app/**') .pipe(template(answers)) .pipe(conflict('./')) .pipe(gulp.dest('./')) .pipe(install()) .on('end', function () { // remove owl file if not selected if (noOwl) { del(['./src/scss/components/_owl.theme.custom.scss']); } // css dependency notice if (addAnimate || addSimpleGrid) { console.log('Note: Remember to change your CSS dependency files to .scss for imports to work correctly.'); } // js dependency notice if (addWaypoints || addHandlebars || !noOwl) { console.log('Note: Remember to copy your JS dependency to src/js to compile.'); } done(); }) .resume(); }); });