コード例 #1
0
gulp.task('default', function (done) {
  inquirer.prompt([
    { type: 'input', name: 'name', message: 'Application name?', default: gulp.args.join(' ')},
    { type: 'confirm', name: 'moveon', message: 'Continue?'}
  ],
  function (answers) {
    if (!answers.moveon) {
      return done();
    }
    answers.appNameSlug = _.slugify(answers.appName);
    gulp.src(__dirname + '/templates/**')
    .pipe(template(answers))
    .pipe(rename(function (file) {
      if (file.basename[0] === '_') {
        file.basename = '.' + file.basename.slice(1);
      }
    }))
    .pipe(conflict('./'))
    .pipe(gulp.dest('./'))
    .pipe(install())
    .on('end', function () {
      done();
    });
  });
});
コード例 #2
0
gulp.task('default', function (done) {
    var prompts = [{
        type: 'input',
        name: 'modelName',
        message: 'What is the name of your model?',
        default: gulp.args.join(' ')
    }, {
        type: 'input',
        name: 'modelAttributes',
        message: 'What attributes does your model have?',
        default: gulp.args.join(' '),
        filter: function(attrs) {
            var array = attrs.split(' ');
            array = array.map(function(item) {
                console.log(item);
                var attr = item.split(':');
                console.log(attr);
                var key = attr[0];
                var value = attr[1];
                return {
                    key: key,
                    value: value
                };
            });
            return array;
        }
    }];
    //Ask
    inquirer.prompt(prompts,
        function (answers) {
            // if (!answers.moveon) {
            //     return done();
            // }
            answers.modelNameSlug = _.slugify(answers.modelName);
            gulp.src(__dirname + '/templates/**')
                .pipe(template(answers))
                .pipe(gulp.dest('./'));
        });
});
コード例 #3
0
gulp.task('default', function (done) {
  var questions = [
    {
      type    : 'input'
    , name    : 'name'
    , message : 'What\'s the name of your project?'
    , default : gulp.args.join(' ')
    }
  , {
      type    : 'input'
    , name    : 'app'
    , message : 'What\'s the path of your source directory?'
    , default : './app'
    }
  , {
      type    : 'input'
    , name    : 'public'
    , message : 'What is the path of your static files?'
    , default : './public'
    }
  , {
      type    : 'input'
    , name    : 'javascripts'
    , message : 'What is the destination path of your javascripts?'
    , default : './public/assets/javascripts'
    }
  , {
      type    : 'input'
    , name    : 'stylesheets'
    , message : 'What is the destination path of your stylesheets?'
    , default : './public/assets/stylesheets'
    }
  ];

  inquirer.prompt(questions, function (answers) {
    gulp.src(__dirname + '/templates/**', {dot: true})
      .pipe(template(answers))
      .pipe(conflict('./'))
      .pipe(gulp.dest('./'))
      .pipe(install())
      .on('end', function () {
        util.log('All done...');
      })
      .on('error', function () {
        util.log();
      });
  });
});
コード例 #4
0
gulp.task('default', function (fn) {
  inquirer.prompt([
    {type: 'input', name: 'name', message: 'Give your app a name', default: gulp.args.join(' ')}, // Get app name from arguments by default
    {type: 'confirm', name: 'moveon', message: 'Continue?'}
  ],
  function(answers) {
    if(!answers.moveon) return fn();

    gulp.src(__dirname + '/templates/**')      // Note use of __dirname to be relative to generator
      .pipe(template(answers))                 // Lodash template support
      .pipe(conflict('./'))                    // Confirms overwrites on file conflicts
      .pipe(gulp.dest('./'))                   // Without __dirname here = relative to cwd
      .pipe(install())                         // Run `bower install` and/or `npm install` if necessary
      .on('finish', function () {
        fn();                                  // Finished!
      });
  });
});
コード例 #5
0
function processInput() {
  var inputs = {appType: 'rest', branch: 'master'};
  gulp.args.forEach(function(arg) {
    if (isFlag(arg)) {
      var splits = arg.split('=');
      var flag = splits[0];
      var value = splits[1];
      if (flag === 'appType') {
        inputs.appType = value;
      } else if (flag === 'branch') {
        inputs.branch = value;
      } else {
        var message = arg + '\n is not a supported flag and has been ignored. You can specify appType=<appType> to specify Roxy appType or branch=<branch> to specify a Roxy branch\n';
        process.stdout.write(message.red);
      }
    } else {
      inputs.appName = arg;
    }
  });
  return inputs;
}
コード例 #6
0
ファイル: slushfile.js プロジェクト: eknuth/slush-jekyll
gulp.task('post', function (done) {
  var now = moment();
  var dirname, basename, prefix, extname = '.md';
  inquirer.prompt([
    {type: 'list', name: 'type', message: 'Type of post', choices: ['Post', 'Draft']},
    {type: 'input', name: 'title', message: 'Title of post', default: gulp.args.join(' ')},
    {type: 'input', name: 'description', message: 'Description of post'},
    {type: 'confirm', name: 'moveon', message: 'Continue?'}
  ],
  function (answers) {
    if (!answers.moveon) {
      return done();
    }

    // Check type of post, if it's to be published publish it to _posts, otherwise, save it as draft
    if (answers.type === 'Post'){
      dirname = '_posts/' + now.year();
      basename = S(answers.title).slugify();
      prefix = now.format('YYYY-MM-DD-');
    } else {
      dirname = '_drafts/' + now.year();
      basename = S(answers.title).slugify();
      prefix = '';
    }
    gulp.src(__dirname + '/templates/post.html')
      .pipe(template(answers))
      .pipe(rename({
        dirname: dirname,
        basename: basename,
        prefix: prefix,
        extname: extname
      }))
      .pipe(conflict('./'))
      .pipe(gulp.dest('./'))                   // Without __dirname here = relative to cwd
      .on('end', function () {
        done();                                // Finished!
      })
      .resume();
  });
});
コード例 #7
0
ファイル: slushfile.js プロジェクト: lukehedger/slush-bayse
gulp.task('default', function (done) {
	inquirer.prompt([
    	{type: 'checkbox', name: 'features', message: 'What else would you like to include?', choices: [{name: 'CoffeeScript', value: 'coffee', checked: false}, {name: 'Myth', value: 'myth', checked: false}]},
    	{type: 'input', name: 'name', message: 'Cool. So what\'s the name of your project? (No spaces please)', validate: function(input) { return (input.length ? true : "This field is required."); }, default: gulp.args.join(' ')},
    	{type: 'input', name: 'description', message: 'And what will it do?'},
		{type: 'confirm', name: 'moveon', message: 'Continue?'}
	],
	function (answers) {

		features = answers.features;
		hasFeature = function (feat) {
			return features.indexOf(feat) !== -1;
		}
		answers.coffee = hasFeature('coffee');
		answers.myth = hasFeature('myth');

		var files = [__dirname + '/templates/app/**'];

		if (answers.coffee) {
			files.push('!' + __dirname + '/templates/app/{js,js/**}')
		}
		else {
			files.push('!' + __dirname + '/templates/app/{coffee,coffee/**}')
		}
		if (answers.myth) {
			files.push('!' + __dirname + '/templates/app/{css,css/**}')
		}
		else {
			files.push('!' + __dirname + '/templates/app/{myth,myth/**}')
		}

		if (!answers.moveon) {
			return done();
		}
	
		gulp.src(files)								// Note use of __dirname to be relative to generator
		.pipe(template(answers))					// Lodash template support
		.pipe(conflict('./'))						// Confirms overwrites on file conflicts
		.pipe(gulp.dest('./'))						// Without __dirname here = relative to cwd
		.pipe(install())							// Run `bower install` and/or `npm install` if necessary
		.on('finish', function () {
			done();									// Finished!
		});
	});
});
コード例 #8
0
ファイル: slushfile.js プロジェクト: acauamontiel/slush-burp
	prompts: function () {
		var questions = [
			{
				type: 'input',
				name: 'appName',
				message: 'What is the name of your app?',
				default: gulp.args.join(' ')
			}, {
				type: 'input',
				name: 'appDescription',
				message: 'What is the description for your app?'
			}, {
				type: 'list',
				name: 'appVersion',
				message: 'Which BURP version do you want to use?',
				choices: [
					{
						key: 'd',
						name: 'Default',
						value: 'default'
					}, {
						key: 'b',
						name: 'Basic',
						value: 'basic'
					}, {
						key: 'c',
						name: 'Custom',
						value: false
					}
				]
			}, {
				type: 'confirm',
				name: 'html',
				message: 'Do you want to use Jade?',
				default: true,
				when: function (props) {
					return !props.appVersion;
				}
			}, {
				type: 'confirm',
				name: 'css',
				message: 'Do you want to use Stylus?',
				default: true,
				when: function (props) {
					return !props.appVersion;
				}
			}, {
				type: 'list',
				name: 'jsLib',
				message: 'Which JS lib do you want to use?',
				choices: [
					{
						key: 'm',
						name: 'Mantis.js (alpha version)',
						value: 'mantis-js'
					},
					{
						key: 'j1',
						name: 'jQuery 1.*',
						value: 'jquery-1'
					},
					{
						key: 'j2',
						name: 'jQuery 2.*',
						value: 'jquery-2'
					},
					{
						key: 'z',
						name: 'Zepto.js',
						value: 'zepto-js'
					},
					{
						key: 'n',
						name: 'None',
						value: false
					},
				],
				when: function (props) {
					return !props.appVersion;
				}
			}
		];

		return questions;
	},