Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
haggen committed Aug 21, 2012
1 parent a35abab commit 7dea89d
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# WayJS

Light and flexible URL routing in JavaScript.

## Tests:

You'll need [mocha](https://github.com/visionmedia/mocha) to run the tests.

Run `npm install -g`. The `-g` flag tells the NPM to install it globally so mocha's binaries goes in `/usr/bin` directory.

Then run `mocha`.

## Usage:

Register a new route:

way.map('/hello', function() {
console.log('Hello, world');
});

Then match some path against route table:

var action = way.match('/hello');

This will return either the callback or null if no matching route is found.

action(); //-> console.log('Hello, world');

Way can be used within the browser or with Node.

Route patterns accepts 3 special syntaxes:

### Named parameters

way.map('/log/:message', function() {
console.log(way.params.message);
});

### Optional groups

way.map('(/good)/bye', function() {
console.log('Farewell!!');
})

### Splats

way.map('/goto/*', function() {
console.log('Goto: ', way.params.splat);
});

They can be combined to create powerful routes.

Also please note that routes are matched in the order they're registered.

## Roadmap:

1. Hooks
2. Better tests
3. Skipping routes

0 comments on commit 7dea89d

Please sign in to comment.