{"action":"created","issue":{"url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/21","repository_url":"https://api.github.com/repos/AntiEvictionBoston/Maps","labels_url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/21/comments","events_url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/21/events","html_url":"https://github.com/AntiEvictionBoston/Maps/pull/21","id":137060639,"number":21,"title":"Setup react-router","user":{"login":"aliceriot","id":6207644,"avatar_url":"https://avatars.githubusercontent.com/u/6207644?v=3","gravatar_id":"","url":"https://api.github.com/users/aliceriot","html_url":"https://github.com/aliceriot","followers_url":"https://api.github.com/users/aliceriot/followers","following_url":"https://api.github.com/users/aliceriot/following{/other_user}","gists_url":"https://api.github.com/users/aliceriot/gists{/gist_id}","starred_url":"https://api.github.com/users/aliceriot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aliceriot/subscriptions","organizations_url":"https://api.github.com/users/aliceriot/orgs","repos_url":"https://api.github.com/users/aliceriot/repos","events_url":"https://api.github.com/users/aliceriot/events{/privacy}","received_events_url":"https://api.github.com/users/aliceriot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-02-28T14:57:19Z","updated_at":"2016-03-11T14:10:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AntiEvictionBoston/Maps/pulls/21","html_url":"https://github.com/AntiEvictionBoston/Maps/pull/21","diff_url":"https://github.com/AntiEvictionBoston/Maps/pull/21.diff","patch_url":"https://github.com/AntiEvictionBoston/Maps/pull/21.patch"},"body":"this is to implement the url changing when you change pins, so that each pin will have it's own URL (probably `/{{ address }}`, since that should be a unique identifier and it's somewhat human-readable)."},"comment":{"url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/comments/195380472","html_url":"https://github.com/AntiEvictionBoston/Maps/pull/21#issuecomment-195380472","issue_url":"https://api.github.com/repos/AntiEvictionBoston/Maps/issues/21","id":195380472,"user":{"login":"heybenji","id":42669,"avatar_url":"https://avatars.githubusercontent.com/u/42669?v=3","gravatar_id":"","url":"https://api.github.com/users/heybenji","html_url":"https://github.com/heybenji","followers_url":"https://api.github.com/users/heybenji/followers","following_url":"https://api.github.com/users/heybenji/following{/other_user}","gists_url":"https://api.github.com/users/heybenji/gists{/gist_id}","starred_url":"https://api.github.com/users/heybenji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heybenji/subscriptions","organizations_url":"https://api.github.com/users/heybenji/orgs","repos_url":"https://api.github.com/users/heybenji/repos","events_url":"https://api.github.com/users/heybenji/events{/privacy}","received_events_url":"https://api.github.com/users/heybenji/received_events","type":"User","site_admin":false},"created_at":"2016-03-11T14:10:34Z","updated_at":"2016-03-11T14:10:34Z","body":"I'm also fine with a heroku instance if it makes things simpler.\n\nMy 2c experience with other volunteer projects is that we'll want this to be on the internet far longer than any person or institution is willing to pay for it.\n\n> On Mar 11, 2016, at 8:27 AM, Alice <notifications@github.com> wrote:\n> \n> yeah me too! we may have a complication in dealing with routing though that I should have foreseen earlier.\n> \n> basically, what we wanted to get out of using react-router was having the ability to bookmark or share URLs for particular stories. what I have working right now is something that changes the URL as you navigate around the site.\n> \n> however, I don't see an easy way to handle requests at one of those generated URLs in our current setup.\n> \n> for instance, say a user is interacting with the map, and the click through to the story about brooks_st - the url for this is /brooks_st. this story resonates with them, and so they copy the URL to send it to a friend.\n> \n> that friend goes to the URL on a different computer by tapping a link or copy-pasting it. github pages doesn't know anything about /maps/story_map/brooks_st though - the only url it can handle is the root url for the map (/maps/story_map or whatever it is). so the request will return a 404 from github because we don't have a page at that location.\n> \n> ok so that's the problem. what can we do about it?\n> \n> easy solution: write a quick express.js app hosted on Heroku that spits back the story map at any url (or /maps/story_map/* or something) and use a CNAME record to put the map at maps.displacementproject.org. This would (besides the time for the DNS stuff to switch over) take like 30 minutes, but we lose the integration of the map into Jekyll, and so we can't automatically get the same nav / header stuff. so we'd need to do a little extra work to copy that over, but I imagine once the nav header is set in Jekyll it would be fairly fast to copy it over to the map repo (copypasta SCSS and name everything the same).\n> \n> hard solution: write some sort of plugin or hack to jekyll that parses the JSON for the stories, picks out the different URLs we're going to need to handle, and generates a collection for each of those urls, which will all spit back the same page (the bundled map JS and the div it needs to grab onto and so on). this seems possible? although in some googling around I wasn't able to find anyone who had done something like this previously. I'm not super confident in my ability to hack on Jekyll, and it could be something that would actually be easy (esp. if I'm not really understanding how collections work) but idk.\n> \n> benefits of the second option: easy integration with the nav / header stuff, don't have to pay for any hosting, slightly less splitting of services around to deal with.\n> \n> benefits of the first option: deployment to Heroku would be a much more standard deploy (we wouldn't need the wacky pre-push hook anymore), we could also host all the static assets for the map there (or investigate CDN options), and I think it would be the quicker (or at least more understood) option.\n> \n> @heybenji thoughts?\n> \n> —\n> Reply to this email directly or view it on GitHub.\n> \n"}}