Barnyard
Bootstrap/Scaffold a project for use with Piggy in the Middle and Baconize.
Getting Started
To install:
npm install barnyard
To scaffold out a project using html
, scss
, babel
, you could do:
var barnyard = ; var scaffoldDir = '/path/to/dir';var options = styles: type: 'scss' scripts: type: 'babel' whitespaceFormatting: 2 babelPolyfill: true normalizeCss: true; ;// [successFn] will be passed an array of the files that were created during the scaffold
This will scaffold a project that has the following directory structure:
/path/to/dir
├─┬ scripts
│ ├── main.babel.js
│ └── polyfill.js
├─┬ styles
│ ├── main.scss
│ └── normalize.css
└ index.html
And here is a truncated version of the html file:
<!-- ... --> <!-- ... -->
Options
-
html
-
type (String, default = 'html'): Which languages to use for html documents. Possibilities: 'html', 'jade'.
-
file (String, default = 'index'): Filename (without extension) for main html document.
-
-
styles
-
type (String, default = 'css'): Which languages to use for stylesheets. Possibilities: 'css', 'scss', 'sass', 'less', 'styl'.
-
file (String, default = 'main'): Filename (without extension) for main style file.
-
folder (String, default = 'styles'): folder where style files are stored.
-
-
scripts
-
type (String, default = 'js'): Which languages to use for javascript. Possibilities: 'js', 'babel', 'coffee'.
-
file (String, default = 'main'): Filename (without extension) for main script files.
-
folder (String, default = 'styles'): folder where script files are stored.
-
-
babelPolyfill (Boolean): Include and reference the babel polyfill.
-
normalizeCss (Boolean): Include and reference normalize.css.
-
whitespaceFormatting (Number/String, default = 'tabs'): Formatting for whitespace. If not specified then tabs will be used, otherwise you can pass a number (e.g. 2, 4, 8) and the corresponding number of spaces will be used
Here is a full list of the defaults:
html: file: 'index' type: 'html' // or 'jade' styles: folder: 'styles' file: 'main' type: 'css' // or 'scss', 'sass', 'less', 'styl' scripts: folder: 'scripts' file: 'main' type: 'js' // or 'babel', 'coffee' babelPolyfill: false normalizeCss: false whitespaceFormatting: 'tabs'