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.

    Install

    npm i generate-scaffold

    DownloadsWeekly Downloads

    14

    Version

    0.4.0

    License

    MIT

    Last publish

    Collaborators

    • doowb
    • jonschlinkert