<commit_before>[Web Toolkit](http://skyglobal.github.io/web-toolkit/) [![Build Status](https://circleci.com/gh/skyglobal/web-toolkit.png?circle-token=<PASSWORD>)](https://circleci.com/gh/skyglobal/web-toolkit) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)
========================

> Sky branded CSS, JavaScript utilities, and UI components.

> Save time by using the toolkit to set your base styles, have headings and buttons styled correctly within seconds.

> The toolkit can help you quickly build robust components like accordions and carousels.

> Component functionality (as described by BDD style tests) are directly visible by the business within the demo site.

## Getting started

This project contains the code to generate the `toolkit` files, e.g. `toolkit.js` + `toolkit.css`.
The code to generate the [demo site](http://skyglobal.github.io/web-toolkit/) is also here.

### Prerequisites

To build the toolkit locally, you'll need to install:
 * [ruby](https://www.ruby-lang.org/) (version 1.9.3 or later),
 * [node.js](http://nodejs.org),
 * [npm](https://www.npmjs.org),
 * [grunt cli](http://gruntjs.com/getting-started),
 * [Bundler](http://bundler.io)

To check you have these tools with the correct versions, run:
 * `which node && which npm && which grunt && which ruby && which bundle`
 * `bundle check && npm update`

### Setup

Clone the repository and install the dependencies

```bash
git clone https://github.com/skyglobal/web-toolkit.git
cd web-toolkit
git add remote upstream https://github.com/skyglobal/web-toolkit.git
npm install
bundle install
```

### Building/Running the Toolkit

Update the toolkit by making your change and testing the it within the demo site.

 * `grunt server` : Grunt will spin up the [Jekyll](http://jekyllrb.com/docs/github-pages/) server, watch for code changes and rebuild on the fly.
 * `grunt server --beautify` : To help when debugging.
 * `grunt test` : Runs the unit tests in [PhantomJS](http://phantomjs.org/)
 * `grunt test-cross-browser` : Runs the unit tests using multiple browsers remotely.
 * `grunt fonts` : Only needed to rebuild the Icon Fonts (skycons).

For more details about the available commands please see [grunt/README.md](./grunt#web-toolkit-grunt)

## Code overview

The repository contains two main components; the Web Toolkit and the demo site.

*  Sass files are in [`grunt/sass`](./grunt/sass) and compiled output is saved into [`dist/stylesheets`](./dist/stylesheets)
*  JavaScript code is in [`grunt/js`](.grunt/js) and contains four modules which are output to [`dist/scripts`](./dist/scripts)
  *  `toolkit` contains the JS utilities and toolkit UI components code
  *  `demo` provides demo support for the website
  *  `changes` provides support for the changes page of the website
  *  `testIframe` provides support for running unit tests online on the website<commit_msg>add extra line about contributing<commit_after>[Web Toolkit](http://skyglobal.github.io/web-toolkit/) [![Build Status](https://circleci.com/gh/skyglobal/web-toolkit.png?circle-token=<PASSWORD>)](https://circleci.com/gh/skyglobal/web-toolkit) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)
========================

> Sky branded CSS, JavaScript utilities, and UI components.

> Save time by using the toolkit to set your base styles, have headings and buttons styled correctly within seconds.

> The toolkit can help you quickly build robust components like accordions and carousels.

> Component functionality (as described by BDD style tests) are directly visible by the business within the demo site.

## Getting started

This project contains the code to generate the `toolkit` files, e.g. `toolkit.js` + `toolkit.css`.
The code to generate the [demo site](http://skyglobal.github.io/web-toolkit/) is also here.

### Prerequisites

To build the toolkit locally, you'll need to install:
 * [ruby](https://www.ruby-lang.org/) (version 1.9.3 or later),
 * [node.js](http://nodejs.org),
 * [npm](https://www.npmjs.org),
 * [grunt cli](http://gruntjs.com/getting-started),
 * [Bundler](http://bundler.io)

To check you have these tools with the correct versions, run:
 * `which node && which npm && which grunt && which ruby && which bundle`
 * `bundle check && npm update`

### Setup

Clone the repository and install the dependencies

```bash
git clone https://github.com/skyglobal/web-toolkit.git
cd web-toolkit
git add remote upstream https://github.com/skyglobal/web-toolkit.git
npm install
bundle install
```

### Building/Running the Toolkit

Update the toolkit by making your change and testing the it within the demo site.

 * `grunt server` : Grunt will spin up the [Jekyll](http://jekyllrb.com/docs/github-pages/) server, watch for code changes and rebuild on the fly.
 * `grunt server --beautify` : To help when debugging.
 * `grunt test` : Runs the unit tests in [PhantomJS](http://phantomjs.org/)
 * `grunt test-cross-browser` : Runs the unit tests using multiple browsers remotely.
 * `grunt fonts` : Only needed to rebuild the Icon Fonts (skycons).

Please help us out by contributing any changes you make locally back into the source project. See [CONTRIBUTING.md](CONTRIBUTING.md).

For more details about the available commands please see [grunt/README.md](./grunt#web-toolkit-grunt)

## Code overview

The repository contains two main components; the Web Toolkit and the demo site.

*  Sass files are in [`grunt/sass`](./grunt/sass) and compiled output is saved into [`dist/stylesheets`](./dist/stylesheets)
*  JavaScript code is in [`grunt/js`](.grunt/js) and contains four modules which are output to [`dist/scripts`](./dist/scripts)
  *  `toolkit` contains the JS utilities and toolkit UI components code
  *  `demo` provides demo support for the website
  *  `changes` provides support for the changes page of the website
  *  `testIframe` provides support for running unit tests online on the website
{'fraction_non_alphanumeric': 0.12443400972664766, 'fraction_numerical': 0.001006204930404159, 'mean_word_length': 4.4416058394160585, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 14, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4565324', 'n_tokens_mistral': 1794, 'n_tokens_neox': 1719, 'n_words': 657}