generate-scaffold

0.4.0 • Public • Published

generate-scaffold NPM version NPM downloads Build Status

Generate a scaffold from a declarative configuration.

Install

Install with npm:

$ npm install --save generate-scaffold

Usage

var scaffolds = require('generate-scaffold');

Example

var scaffolds = require('generate-scaffold');
var generate = require('generate');
var Scaffold = require('scaffold');
var scaffold = new Scaffold();
var app = generate();
app.use(scaffolds);
 
/**
 * Add a basic "target" to our scaffold. Scaffolds are like
 * grunt "tasks" and can have any number of targets
 */
 
scaffold.addTarget('abc', {
  options: {
    pipeline: generate.renderFile,
    data: {
      site: { title: 'My Blog' }
    }
  },
  src: 'templates/*.hbs',
  dest: 'site',
});
 
/**
 * Template engine for rendering handlebars templates
 */
 
app.engine('hbs', require('engine-handlebars'));
 
/**
 * Generate the scaffold!
 */
 
app.scaffold('site', scaffold)
  .generate()
  .on('error', console.log)
  .on('data', console.log)
  .on('end', function() {
    console.log('done!');
  });

See the scaffold library for additional information.

API

.scaffoldSeries

Asynchronously generate files from a declarative scaffold configuration.

Params

  • scaffold {Object}: Scaffold configuration object.
  • cb {Function}: Optional callback function. If not passed, .scaffoldStream will be called and a stream will be returned.

Example

var Scaffold = require('scaffold');
var scaffold = new Scaffold({
  options: {cwd: 'source'},
  posts: {
    src: ['content/*.md']
  },
  pages: {
    src: ['templates/*.hbs']
  }
});
 
app.scaffoldSeries(scaffold, function(err) {
  if (err) console.log(err);
});

.scaffoldStream

Generate files from a declarative scaffold configuration.

Params

  • config {Object}: scaffold configuration object.
  • returns {Stream}: returns a stream with all processed files.

Example

var Scaffold = require('scaffold');
var scaffold = new Scaffold({
  options: {cwd: 'source'},
  posts: {
    src: ['content/*.md']
  },
  pages: {
    src: ['templates/*.hbs']
  }
});
 
app.scaffoldStream(scaffold)
  .on('error', console.error)
  .on('end', function() {
    console.log('done!');
  });

History

v0.3.0 (2016-07-11)

Breaking changes

  • Changes signature of the main export to follow Generate generator conventions. Instead of doing app.use(scaffold()), you should now do app.use(scaffold).

v0.2.1 (2016-07-11)

Fixed

  • Ensure that tasks and generators are created correctly by listener

v0.2.0 (2016-06-27)

Added

  • Adds support for automatically creating generators and tasks from declarative scaffolds. Collaborative work from @doowb and @jonschlinkert

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)

To generate the readme and API documentation with verb:

$ npm install -g verb verb-generate-readme && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb-generate-readme, v0.1.28, on July 29, 2016.

Package Sidebar

Install

npm i generate-scaffold

Weekly Downloads

0

Version

0.4.0

License

MIT

Last publish

Collaborators

  • doowb
  • jonschlinkert