4.0.0 • Published 9 years ago

barnyard v4.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

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

9 years ago

3.0.0

10 years ago

2.4.0

10 years ago

2.3.0

10 years ago

2.2.0

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.0

10 years ago

1.0.0

10 years ago