1
+ <!DOCTYPE html>
2
+ < html >
3
+ < head >
4
+ < meta charset ="utf-8 ">
5
+ < title > Single Page Apps for GitHub Pages</ title >
6
+ < script type ="text/javascript ">
7
+ // Single Page Apps for GitHub Pages
8
+ // MIT License
9
+ // https://github.com/rafgraph/spa-github-pages
10
+ // This script takes the current url and converts the path and query
11
+ // string into just a query string, and then redirects the browser
12
+ // to the new url with only a query string and hash fragment,
13
+ // e.g. https://www.foo.tld/one/two?a=b&c=d#qwe, becomes
14
+ // https://www.foo.tld/?/one/two&a=b~and~c=d#qwe
15
+ // Note: this 404.html file must be at least 512 bytes for it to work
16
+ // with Internet Explorer (it is currently > 512 bytes)
17
+
18
+ // If you're creating a Project Pages site and NOT using a custom domain,
19
+ // then set pathSegmentsToKeep to 1 (enterprise users may need to set it to > 1).
20
+ // This way the code will only replace the route part of the path, and not
21
+ // the real directory in which the app resides, for example:
22
+ // https://username.github.io/repo-name/one/two?a=b&c=d#qwe becomes
23
+ // https://username.github.io/repo-name/?/one/two&a=b~and~c=d#qwe
24
+ // Otherwise, leave pathSegmentsToKeep as 0.
25
+ var pathSegmentsToKeep = 0 ;
26
+
27
+ var l = window . location ;
28
+ l . replace (
29
+ l . protocol + '//' + l . hostname + ( l . port ? ':' + l . port : '' ) +
30
+ l . pathname . split ( '/' ) . slice ( 0 , 1 + pathSegmentsToKeep ) . join ( '/' ) + '/?/' +
31
+ l . pathname . slice ( 1 ) . split ( '/' ) . slice ( pathSegmentsToKeep ) . join ( '/' ) . replace ( / & / g, '~and~' ) +
32
+ ( l . search ? '&' + l . search . slice ( 1 ) . replace ( / & / g, '~and~' ) : '' ) +
33
+ l . hash
34
+ ) ;
35
+
36
+ </ script >
37
+ </ head >
38
+ < body >
39
+ </ body >
40
+ </ html >
0 commit comments