{"action":"created","issue":{"url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/2","labels_url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/2/comments","events_url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/2/events","html_url":"https://github.com/nolanlawson/pokedex.org/issues/2","id":118453200,"number":2,"title":"Add routing","user":{"login":"nolanlawson","id":283842,"avatar_url":"https://avatars.githubusercontent.com/u/283842?v=3","gravatar_id":"","url":"https://api.github.com/users/nolanlawson","html_url":"https://github.com/nolanlawson","followers_url":"https://api.github.com/users/nolanlawson/followers","following_url":"https://api.github.com/users/nolanlawson/following{/other_user}","gists_url":"https://api.github.com/users/nolanlawson/gists{/gist_id}","starred_url":"https://api.github.com/users/nolanlawson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nolanlawson/subscriptions","organizations_url":"https://api.github.com/users/nolanlawson/orgs","repos_url":"https://api.github.com/users/nolanlawson/repos","events_url":"https://api.github.com/users/nolanlawson/events{/privacy}","received_events_url":"https://api.github.com/users/nolanlawson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-23T19:25:04Z","updated_at":"2015-11-25T03:48:54Z","closed_at":null,"body":"A few things that are needed:\r\n\r\n1. A URL for each Pokemon, e.g. `pokedex.org/001` for bulbasaur\r\n2. Back/forward events handled correctly\r\n3. All of the above working with refresh\r\n4. All of the above working with ServiceWorker\r\n\r\nDue to the complexity of using the actual HTML5 History API and therefore needing to duplicate the logic in the client, server, *and* the ServiceWorker, I would probably prefer to just use good ol' fashioned hashchange events, unless someone can convince me otherwise. (Yes, the URLs will look ugly; but hey, it'll be easy to implement.)\r\n\r\nEither Page.js or Ampersand Router look like good candidates for this."},"comment":{"url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/comments/159482295","html_url":"https://github.com/nolanlawson/pokedex.org/issues/2#issuecomment-159482295","issue_url":"https://api.github.com/repos/nolanlawson/pokedex.org/issues/2","id":159482295,"user":{"login":"mhart","id":367936,"avatar_url":"https://avatars.githubusercontent.com/u/367936?v=3","gravatar_id":"","url":"https://api.github.com/users/mhart","html_url":"https://github.com/mhart","followers_url":"https://api.github.com/users/mhart/followers","following_url":"https://api.github.com/users/mhart/following{/other_user}","gists_url":"https://api.github.com/users/mhart/gists{/gist_id}","starred_url":"https://api.github.com/users/mhart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhart/subscriptions","organizations_url":"https://api.github.com/users/mhart/orgs","repos_url":"https://api.github.com/users/mhart/repos","events_url":"https://api.github.com/users/mhart/events{/privacy}","received_events_url":"https://api.github.com/users/mhart/received_events","type":"User","site_admin":false},"created_at":"2015-11-25T03:48:54Z","updated_at":"2015-11-25T03:48:54Z","body":"If you want a super bare-bones approach to universal/isomorphic routing, check out the way I do it in [react-server-routing-example](https://github.com/mhart/react-server-routing-example) as a potential inspiration.\r\n\r\nThere are [basic regex routes and a resolving function](https://github.com/mhart/react-server-routing-example/blob/master/router.js), which are shared by both client and server (browserified). Then on the client, a [central handler for dealing with links and data fetching](https://github.com/mhart/react-server-routing-example/blob/master/App.js#L16-L44) and [on the server it's similarly straightforward](https://github.com/mhart/react-server-routing-example/blob/master/server.js#L17-L28)."}}