Plugin that adds support for generating project files from a declarative boilerplate configuration.
Install with npm:
$ npm install --save base-boilerplate
var boilerplate = require('base-boilerplate');
var App = require('base-app');
var app = new App();
app.use(boilerplate());
Download h5bp
To run the example, first you'll need to git clone html5-boilerplate with the following command:
$ git clone https://github.com/h5bp/html5-boilerplate.git vendor/h5bp
Configuration
The following examples returns a normalized configuration object that includes every file in the html5-boilerplate project, organized exactly the way the project itself is organized.
var Boilerplate = require('boilerplate');
var boilerplate = new Boilerplate({
options: {
cwd: 'vendor/h5bp/dist',
destBase: 'src'
},
site: {
root: {src: ['{.*,*.*}'], dest: 'root'},
css: {src: ['css/*.css'], dest: 'assets/css'},
js: {src: ['js/**/*.js'], dest: 'assets/js'},
doc: {src: ['doc/*.md'], dest: 'docs'}
},
});
Generate
Pass the configuration to the .boilerplate or .boilerplateStream method to "build" the boilerplate. In this example we're not doing any additional processing, so the source files will simply be copied to the specified destination directories.
// stream
app.boilerplateStream(boilerplate)
.on('end', function() {
console.log('done');
});
// async callback
app.boilerplate(boilerplate, function(err) {
if (err) return console.error(err);
console.log('done');
});
Get boilerplate name from app.boilerplates, or set boilerplate name with the given config.
Params
name {String|Object|Function}config {Object|Fucntion}returns {Object}: Returns the app instance when setting a boilerplate, or the boilerplate instance when getting a boilerplate.Example
app.boilerplate('foo', {
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});
// or
var boilerplate = app.boilerplate('foo');
Params
name {String}config {Object|Function}Example
app.addBoilerplate('foo', {
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});
Params
name {String}options {Object}Example
var boilerplate = app.getBoilerplate('foo');
// or create an instance of `Boilerplate` using the given object
var boilerplate = app.getBoilerplate({
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});
Returns true if the given value is a valid Boilerplate.
Params
val {any}returns {Boolean}Example
isBoilerplate('a');
//=> false
isBoilerplate({});
//=> false
isBoilerplate({ files: [] })
//=> false
isBoilerplate(new Boilerplate({ src: ['*.js'] }))
//=> true
Get or set the Boilerplate constructor. Exposed as a getter/setter to allow it to be customized before or after instantiation.
Example
// set
app.Boilerplate = function MyBoilerplateCtor() {};
// get
var scaffold = new app.Boilerplate();
base application. | homepagePull requests and stars are always welcome. For bugs and feature requests, please create an issue.
(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
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 21, 2016.