diff options
author | eug-vs <eug-vs@keemail.me> | 2020-08-08 12:42:14 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-08-08 13:34:55 +0300 |
commit | 70d20b76f042a519e8e164279dfa31b5ce027d44 (patch) | |
tree | 01ac0b76b91185232f48635bf67a5dfaf232f6e8 /public/404.html | |
parent | c4a8f884cfba9adf2ddee03e64927fb5867e2485 (diff) | |
download | which-ui-70d20b76f042a519e8e164279dfa31b5ce027d44.tar.gz |
build: setup SPA routing for gh-pages
Diffstat (limited to 'public/404.html')
-rw-r--r-- | public/404.html | 41 |
1 files changed, 41 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> |