Skip to content

Scaffolding for developing and deploying sites.

Notifications You must be signed in to change notification settings

bshack/white-label

Repository files navigation

white label

Build Status

Scaffolding for developing and deploying sites.

Key Libraries

  • Babel
  • Foundation
  • Browserify
  • Browsersync
  • Gulp
  • Handlebars
  • Jasmine
  • Modernizr
  • Node Events
  • Karma
  • ReactJS
  • SCSS
  • White Label Model

Install Dependancies

IMPORTANT: Verify you have the latest versions of each of these if you have previously installed them.

Nodejs

http://nodejs.org

This project works with 'LTS' or 'Current'

Gulp

http://gulpjs.com

Other

Debian/Ubuntu Users: build-essential package

Node Modules

npm install;

Text Editor Config

Install the correct plugin for your text editor here:

http://editorconfig.org/#download

This will normalize settings like what tab character(s) to use and will avoid linting errors.

Gulp Tasks

Watch

gulp watch;

This will create a Browsersync server and reload your browser window(s) as you make code changes.

Learn more about Browsersync here: https://www.browsersync.io

Deploy

This compiles and bundles everything into a deploy ready package outputted in the '_deploy' directory.

gulp deploy --www=(www domain - required) --cdn=(cdn domain - required) --service=(service domain - required) --production=(true|false - optional) --version=(unique deploy version - optional);

The 'version' argument defaults to an epoch timestamp and the 'production' argument defaults to 'false'.

Example

gulp deploy --www=//www.example.com --cdn=//cdn.example.com --service=//service.example.com --version=123456789 --production=true;

Unit Tests

watch:

gulp unitWatch;

single run:

gulp unit;

More

These in additional to other tasks run as dependencies of the 'watch' and 'deploy' tasks.

gulp markup;
gulp style;
gulp script;
gulp accessibility;
gulp documentation;

Test If Your Project Will Build

Run this when you want to verify your changes will build properly on the CI server before pushing:

npm test;

NPM Shrinkwrap

This project uses npm shrinkwrap to freeze npm module versions for improved project stability. More information here: https://docs.npmjs.com/cli/shrinkwrap.

Using it with Yeoman

Install as a node module:

npm install generator-white-label -g;

Then in an empty directory:

yo white-label;

Learn more about Yeoman here: https://yeoman.io