Skip to content

Commit

Permalink
Add README and fix main.js to adhere to style guide
Browse files Browse the repository at this point in the history
  • Loading branch information
rileyjshaw committed Nov 30, 2014
1 parent 1e13ee0 commit 36f5528
Show file tree
Hide file tree
Showing 7 changed files with 82 additions and 11 deletions.
1 change: 0 additions & 1 deletion LICENSE
Expand Up @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

70 changes: 69 additions & 1 deletion README.md
@@ -1,4 +1,72 @@
tappy
=====

Node module for recording and comparing rhythms
A JavaScript library for recording and comparing rhythms. The project page lives [here](http://tappy.pw).

## Installation
Tappy can be installed using [npm](https://www.npmjs.org/package/tappy), [bower](http://bower.io/), or included from [jsdelivr](http://cdn.jsdelivr.net/tappy/latest/mainfile):
```bash
npm install tappy
```
```bash
bower install tappy
```
```html
<script src="//cdn.jsdelivr.net/tappy/latest/mainfile"></script>
```

The library uses a [universal module definition](https://github.com/umdjs/umd), so it _should_ work with whatever system you're using.

## Usage
For current docs, please visit [the project page](http://tappy.pw).

## Contributing
Pull-requests to the `/app` and `/test` directories are welcome. Please create an [issue](https://github.com/rileyjshaw/tappy/issues) if you plan on adding features, as it might be better suited to a plugin.

Please squash changes down to a single commit before making a pull-request.

### Building the library
If you don't have [gulp](http://gulpjs.com/), you'll have to install it:
```bash
npm install -g gulp
```

After running
```bash
npm install
```
in the main directory, running
```bash
gulp
```
will watch the `/app` directory and build any changes to `/dist`. It also runs changes through `test/test.js`.

### Style
Pull requests _must_ adhere to the following code style guidelines, influenced heavily by [idiomatic.js](https://github.com/rwaldron/idiomatic.js/):

- Put a space before the parens following `if ()`, `else if ()`, `for ()`, `while ()`, `try ()`, and `function ()` statements. Do not add padding spaces _within_ these parens.
- Put a space between closing braces `)` and opening curly braces `{`.
- Add padding spaces to curly braces that self-close on a single line: `var littleObject = { name: 'tiny' };`. Empty object literals do not require a space: `{}`.
- Function definitions go at the top of their scope, followed immediately by `var`s.
- If multiple lines are required for variable declarations, each new line should have its own `var` statement.
- Indent using tabs. No trailing whitespace.
- Line-length limit of 80 characters, with a tab-width of 4.
- If statements have to be broken across lines, end lines with an operator:
```javascript
// example
var reallyReallyReallyLongLine = 'Zero Cool' + ', Acid Burn' + ', Lord Nikon' +
', The Phantom Phreak' + ', Cereal Killer' + ', The Plague' +
', that other kid...';
```
- When aligning statements across lines, use spaces if alignment should be locked to a specific character length. in the previous example, four spaces were used _before_ the indenting tab to ensure tabs always started after `var `.
- Gulp will automatically lint everything through jshint. Don't make it complain.

## Examples

###[Lyrics game](http://play.tappy.pw)
A music game: tap the rhythm of the lyrics displayed.

___If you've built something with Tappy, let me know! I'd love to add it to this list.___

## License
Licensed under [MIT](https://github.com/rileyjshaw/tappy/blob/master/LICENSE). Created by [rileyjshaw](http://rileyjshaw.com/).
8 changes: 5 additions & 3 deletions app/main.js
Expand Up @@ -149,13 +149,15 @@ Rhythm.prototype.playback = function tappy_playback (cb, multiplier) {
}
}

var i, length, prevTap, taps;

if (typeof this._curTap === 'number') {
throw new Error('Can\'t call playback() before calling done()');
}

var i = 0;
var length = this.length;
var prevTap, taps = this._taps;
i = 0;
length = this.length;
taps = this._taps;

if (multiplier) {
taps = taps.map(function (tap) {
Expand Down
2 changes: 1 addition & 1 deletion bower.json
@@ -1,6 +1,6 @@
{
"name": "tappy",
"version": "0.1.1",
"version": "0.1.2",
"homepage": "http://tappy.pw",
"authors": [
"rileyjshaw <i@rileyjshaw.com>"
Expand Down
8 changes: 5 additions & 3 deletions dist/tappy.js
Expand Up @@ -150,13 +150,15 @@ Rhythm.prototype.playback = function tappy_playback (cb, multiplier) {
}
}

var i, length, prevTap, taps;

if (typeof this._curTap === 'number') {
throw new Error('Can\'t call playback() before calling done()');
}

var i = 0;
var length = this.length;
var prevTap, taps = this._taps;
i = 0;
length = this.length;
taps = this._taps;

if (multiplier) {
taps = taps.map(function (tap) {
Expand Down
2 changes: 1 addition & 1 deletion dist/tappy.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "tappy",
"version": "0.1.1",
"version": "0.1.2",
"description": "Record and compare rhythms",
"repository": "https://github.com/rileyjshaw/tappy",
"main": "dist/tappy.min.js",
Expand Down

0 comments on commit 36f5528

Please sign in to comment.