GithubHelp home page GithubHelp logo

sinslav / routie Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jgallen23/routie

0.0 2.0 0.0 342 KB

a tiny javascript hash router

Home Page: http://projects.jga.me/routie

License: MIT License

JavaScript 93.64% HTML 6.36%

routie's Introduction

#Routie

Routie is a javascript hash routing library. It is designed for scenarios when push state is not an option (IE8 support, static/Github pages, Phonegap, simple sites, etc). It is very tiny (800 bytes gzipped), and should be able to handle all your routing needs.

##Download

##Basic Usage

There are three ways to call routie:

Here is the most basic way:

routie('users', function() {
	//this gets called when hash == #users
});

If you want to define multiple routes you can pass in an object like this:

routie({
	'users': function() {

	},
	'about': function() {
	}
});

If you want to trigger a route manually, you can call routie like this:

routie('users/bob');  //window.location.hash will be #users/bob

##Regex Routes

Routie also supports regex style routes, so you can do advanced routing like this:

routie('users/:name', function(name) {
	//name == 'bob';
});
routie('users/bob');

###Optional Params:

routie('users/:name?', function(name) {
	//name == undefined
	//then
	//name == bob
});
routie('users/');
routie('users/bob');

###Wildcard:

routie('users/*', function() {
});
routie('users/12312312');

###Catch All:

routie('*', function() {
});
routie('anything');

##Named Routes

Named routes make it easy to build urls for use in your templates. Instead of re-creating the url, you can just name your url when you define it and then perform a lookup. The name of the route is optional. The syntax is "[name] [route]".

routie('user users/:name', function() {});

then in your template code, you can do:

routie.lookup('user', { name: 'bob'}) // == users/bob

##Dependencies

None

##Supports

Any modern browser and IE8+

##Tests

Run make install, then make test, then go to http://localhost:8000/test

routie's People

Contributors

jgallen23 avatar nairvijays avatar davidsouther avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.