
Single Page Apps for GitHub Pages - rafrex
https://github.com/rafrex/spa-github-pages
======
maxmcd
If you're already using React-Router a nice solution might be to infer all of
the valid paths from the React-Router config and push valid pages for those
paths to gh-pages. Would involve an unusual build step, but would get you
valid 404 responses and avoid the redirect.

~~~
teen
Aren't some wildcards? such as app/users/<username>

~~~
maxmcd
Ah, whoops, yep, fair enough.

------
giancarlostoro
MD-Wiki[0] kind of does this already doesn't it?

[http://dynalon.github.io/mdwiki/#!index.md](http://dynalon.github.io/mdwiki/#!index.md)

Though there may be differences to this approach I'm unaware of.

Edit:

One notable difference between the GitHub SPA page is the URLs are SEO
friendlier than MDWiki seems to be.

------
adnanh
One could also enable hashtag navigation :-)

~~~
oceanswave
yeah, my first thought too... not sure about the pros/cons regarding SEO

------
hartator
I don't really see why this is GitHub Pages specific.

~~~
rafrex
It's not. You can use it with any server that can serve a custom 404 page. I
use it locally with http-server to work on react single pages apps that don't
have a backend.

------
slmyers
[angular-cli]([https://github.com/angular/angular-
cli](https://github.com/angular/angular-cli)) has a `push to github` hook.
Never had any problems with it... not that I've used it a bunch either.

edit: To be clear it pushes to a gh-pages branch on the appropriate repo, ie,
sets up an Angular2 SPA.

------
fredgrott
maybe I am missing something..I just assumed that people were using tiddlywiki
which a single app in form of a webpage itself

------
skdd8
This is cool, but the beauty of Jekyll is that you can add content in markdown
easily and without much JSX/HTML manipulation. This is specially useful with
adding blog-posts and tutorials

I am by no means defending Jekyll. I think it is an OK solutions for the
problem in question. The only reason why I prefer it, is for the markdown
(human friendly) formatting.

