aboutsummaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authoreug-vs <eug-vs@keemail.me>2020-08-08 12:42:14 +0300
committereug-vs <eug-vs@keemail.me>2020-08-08 13:34:55 +0300
commit70d20b76f042a519e8e164279dfa31b5ce027d44 (patch)
tree01ac0b76b91185232f48635bf67a5dfaf232f6e8 /public
parentc4a8f884cfba9adf2ddee03e64927fb5867e2485 (diff)
downloadwhich-ui-70d20b76f042a519e8e164279dfa31b5ce027d44.tar.gz
build: setup SPA routing for gh-pages
Diffstat (limited to 'public')
-rw-r--r--public/404.html41
-rw-r--r--public/index.html31
2 files changed, 72 insertions, 0 deletions
diff --git a/public/404.html b/public/404.html
new file mode 100644
index 0000000..086efc3
--- /dev/null
+++ b/public/404.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Which</title>
+ <script type="text/javascript">
+ // Single Page Apps for GitHub Pages
+ // https://github.com/rafrex/spa-github-pages
+ // Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License
+ // ----------------------------------------------------------------------
+ // This script takes the current url and converts the path and query
+ // string into just a query string, and then redirects the browser
+ // to the new url with only a query string and hash fragment,
+ // e.g. http://www.foo.tld/one/two?a=b&c=d#qwe, becomes
+ // http://www.foo.tld/?p=/one/two&q=a=b~and~c=d#qwe
+ // Note: this 404.html file must be at least 512 bytes for it to work
+ // with Internet Explorer (it is currently > 512 bytes)
+
+ // If you're creating a Project Pages site and NOT using a custom domain,
+ // then set segmentCount to 1 (enterprise users may need to set it to > 1).
+ // This way the code will only replace the route part of the path, and not
+ // the real directory in which the app resides, for example:
+ // https://username.github.io/repo-name/one/two?a=b&c=d#qwe becomes
+ // https://username.github.io/repo-name/?p=/one/two&q=a=b~and~c=d#qwe
+ // Otherwise, leave segmentCount as 0.
+ var segmentCount = 0;
+
+ var l = window.location;
+ l.replace(
+ l.protocol + '//' + l.hostname + (l.port ? ':' + l.port : '') +
+ l.pathname.split('/').slice(0, 1 + segmentCount).join('/') + '/?p=/' +
+ l.pathname.slice(1).split('/').slice(segmentCount).join('/').replace(/&/g, '~and~') +
+ (l.search ? '&q=' + l.search.slice(1).replace(/&/g, '~and~') : '') +
+ l.hash
+ );
+
+ </script>
+ </head>
+ <body>
+ </body>
+</html>
diff --git a/public/index.html b/public/index.html
index 001cbac..090b0d5 100644
--- a/public/index.html
+++ b/public/index.html
@@ -5,6 +5,37 @@
<link rel="icon" type="image/png" sizes="16x16" href="./which-logo-64.png" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Which</title>
+ <!-- Start Single Page Apps for GitHub Pages -->
+ <script type="text/javascript">
+ // Single Page Apps for GitHub Pages
+ // https://github.com/rafrex/spa-github-pages
+ // Copyright (c) 2016 Rafael Pedicini, licensed under the MIT License
+ // ----------------------------------------------------------------------
+ // This script checks to see if a redirect is present in the query string
+ // and converts it back into the correct url and adds it to the
+ // browser's history using window.history.replaceState(...),
+ // which won't cause the browser to attempt to load the new url.
+ // When the single page app is loaded further down in this file,
+ // the correct url will be waiting in the browser's history for
+ // the single page app to route accordingly.
+ (function(l) {
+ if (l.search) {
+ var q = {};
+ l.search.slice(1).split('&').forEach(function(v) {
+ var a = v.split('=');
+ q[a[0]] = a.slice(1).join('=').replace(/~and~/g, '&');
+ });
+ if (q.p !== undefined) {
+ window.history.replaceState(null, null,
+ l.pathname.slice(0, -1) + (q.p || '') +
+ (q.q ? ('?' + q.q) : '') +
+ l.hash
+ );
+ }
+ }
+ }(window.location))
+ </script>
+ <!-- End Single Page Apps for GitHub Pages -->
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>