barnyard
Bootstrap/Scaffold a project for use with Piggy in the Middle and Baconize
Last updated 3 years ago by davej .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install barnyard 
SYNC missed versions from official npm registry.

Barnyard

npm version Build Status Coverage Status

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 = require('barnyard');

var scaffoldDir = '/path/to/dir';
var options = {
  styles: { type: 'scss' },
  scripts: { type: 'babel' },
  whitespaceFormatting: 2,
  babelPolyfill: true,
  normalizeCss: true,
};

barnyard(scaffoldDir, options).then([successFn],[errorFn]);
// [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:

<!DOCTYPE html>
  <head>
    <!-- ... -->
    <link rel="stylesheet" href="styles/normalize.css">
    <link rel="stylesheet" href="styles/main.css">
  </head>
  <body>
    <!-- ... -->
    <script src="scripts/polyfill.js"></script>
    <script src="scripts/main.js"></script>
  </body>
</html>

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',
}

Current Tags

  • 4.0.0                                ...           latest (3 years ago)

9 Versions

  • 4.0.0                                ...           3 years ago
  • 3.0.0                                ...           4 years ago
  • 2.4.0                                ...           4 years ago
  • 2.3.0                                ...           4 years ago
  • 2.2.0                                ...           4 years ago
  • 2.1.1                                ...           4 years ago
  • 2.1.0                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 10
Dependencies (8)
Dev Dependencies (6)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |