Git Product home page Git Product logo

bw-router's Introduction

bw-router

unstable

bw-router will allow you to create routes and associate them with a value/object. These values are called sections as this router was originally designed for bigwheel.

If the this module is running in the browser it will use window.location.hash to evaluate routes. If it's not running in an environment where window.location exists then it will be ignored.

Usage

NPM

Example

var bwRouter = require( 'bw-router' );

var router = bwRouter( {
  
  '/': { name: 'landing section' }, // this is the root route and will be opened right away after init
  '/about': { section: { name: 'about section' }, useURL: false }, // a settings object can be passed
                                                                   // instead of a section object.
                                                                   // `useURL` ensures that this route
                                                                   // cannot be entered via hash changes
  '/gallery/:image': { name: 'gallery' }, // routes can be defined with parameters for more info visit: 
                                          // https://www.npmjs.com/package/routes
  '/someRedirect': '/about', // redirects can be created
  '404': { name: '404' } // 404 can be defined which will always evaluate if the route is not matched,
  postHash: '!' // Defines what prefixes the routes
  pushState: true, // Whether to use the history api or not
});

router.init(); // calling init will start resolving routes

router.go( '/gallery/10' ); // calling go will cause the router to evaluate 

router.go( '/gallery/10', {silent: true} ); // will not trigger a section change, useful for scrolling sites

router.destroy(); // will destroy the router

License

MIT, see LICENSE for details.

bw-router's People

Contributors

mattdesl avatar mikkoh avatar njam3 avatar wongbsn 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.