Merge pull request #137 from aidenybai/fix-non-spa-routing

This commit is contained in:
Jacky Zhao 2022-05-27 19:21:05 -07:00 committed by GitHub
commit c73b6552a2

View File

@ -30,8 +30,7 @@
{{$finalCss := $css | resources.Concat "styles.css" | resources.Fingerprint "md5" | resources.Minify }} {{$finalCss := $css | resources.Concat "styles.css" | resources.Fingerprint "md5" | resources.Minify }}
<link href="{{$finalCss.Permalink}}" rel="stylesheet" /> <link href="{{$finalCss.Permalink}}" rel="stylesheet" />
{{ $darkMode := resources.Get "js/darkmode.js" | resources.Fingerprint "md5" | {{ $darkMode := resources.Get "js/darkmode.js" | resources.Fingerprint "md5" | resources.Minify }}
resources.Minify }}
<script src="{{$darkMode.Permalink}}"></script> <script src="{{$darkMode.Permalink}}"></script>
{{partial "katex.html" .}} {{partial "katex.html" .}}
@ -63,6 +62,8 @@
})) }))
const draw = () => { const draw = () => {
// NOTE: everything within this callback will be executed for every page navigation. This is a good place to put JavaScript that loads or modifies data on the page.
const container = document.getElementById("graph-container") const container = document.getElementById("graph-container")
// retry if the graph is not ready // retry if the graph is not ready
if (!container) return requestAnimationFrame(draw) if (!container) return requestAnimationFrame(draw)
@ -100,15 +101,16 @@
{{ $router := resources.Get "js/router.js" | resources.Fingerprint "md5" | {{ $router := resources.Get "js/router.js" | resources.Fingerprint "md5" |
resources.Minify }} resources.Minify }}
<script type="module"> <script type="module">
import { attachSPARouting } from '{{$router.Permalink}}'; import { attachSPARouting } from "{{$router.Permalink}}"
// NOTE: everything within this callback will be executed for every page navigation. This is a good place to put JavaScript that loads or modifies data on the page. attachSPARouting(draw)
attachSPARouting(draw);
</script> </script>
{{else}} {{else}}
<script> <script>
window.Million.navigate = (url) => window.location.href = url; window.Million = {
draw(); navigate: (url) => (window.location.href = url),
prefetch: () => {},
}
draw()
</script> </script>
{{end}} {{end}}
</head> </head>