From e6c7a4e1e2e3b0437b5dbbbeb7abc4e05622db16 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 12 Sep 2022 01:03:55 +0000
Subject: [PATCH] fix: latex rendering bugs + patch for #195
---
assets/js/router.js | 45 +++++++++++++++++++++++----------------------
1 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/assets/js/router.js b/assets/js/router.js
index 5c874ee..efaa10e 100644
--- a/assets/js/router.js
+++ b/assets/js/router.js
@@ -1,25 +1,26 @@
-import { router, navigate } from "https://unpkg.com/million/dist/router.mjs"
+import {
+ apply,
+ navigate,
+ prefetch,
+ router,
+} from "https://unpkg.com/million@1.11.5/dist/router.mjs"
-export const init = (loader) => {
- // SPA navigation for access later
- window.navigate = navigate
- // We only mutate document.title and content within .singlePage element
- router(".singlePage")
- // We need on initial load, then subsequent redirs
- window.addEventListener("million:navigate", () => callback(loader))
- window.addEventListener("DOMContentLoaded", () => callback(loader))
-}
-
-export const callback = (loader) => {
- // requestAnimationFrame() delays graph draw until SPA routing is finished
- const draw = () => {
- const container = document.getElementById("graph-container")
- // retry if the graph is not ready
- if (!container) return requestAnimationFrame(draw)
- // clear the graph in case there is anything within it
- container.textContent = ""
-
- loader()
+export const attachSPARouting = (init, rerender) => {
+ // Attach SPA functions to the global Million namespace
+ window.Million = {
+ apply,
+ navigate,
+ prefetch,
+ router,
}
- requestAnimationFrame(draw)
+
+ const render = () => requestAnimationFrame(rerender)
+
+ window.addEventListener("DOMContentLoaded", () => {
+ apply((doc) => init(doc))
+ init()
+ router(".singlePage")
+ render()
+ })
+ window.addEventListener("million:navigate", render)
}
--
Gitblit v1.10.0