From 06de4ec2a600e9e3e87f0f63fe577158478116b7 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 18 Jan 2025 08:33:35 -0800 Subject: [PATCH 01/14] Bump bun to latest. --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 22e80a2..24918a0 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -bun 1.1.18 +bun 1.1.45 From b4b173799970c71db3d879550f448768d30e6b55 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 18 Jan 2025 08:33:41 -0800 Subject: [PATCH 02/14] tweak --- next/next-env.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next/next-env.d.ts b/next/next-env.d.ts index 4f11a03..52e831b 100644 --- a/next/next-env.d.ts +++ b/next/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. From 8a996fc51ddc69076d9735c0575657f3774323a5 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 18 Jan 2025 08:33:56 -0800 Subject: [PATCH 03/14] Bump react to 19 and next to 15 --- next/bun.lockb | Bin 171816 -> 183616 bytes next/package.json | 17 +++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/next/bun.lockb b/next/bun.lockb index 9cf5f0136445f53d7cae1940bcaab5ab432b6119..31809aaf81e8d0d7c4342056b2eb9a4c71ad9d1d 100755 GIT binary patch delta 39981 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 delta 32532 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 Date: Sat, 18 Jan 2025 09:22:09 -0800 Subject: [PATCH 04/14] Fix react warnings. --- next/src/components/Video/useVideoRef.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/next/src/components/Video/useVideoRef.tsx b/next/src/components/Video/useVideoRef.tsx index 2b20e88..e900571 100644 --- a/next/src/components/Video/useVideoRef.tsx +++ b/next/src/components/Video/useVideoRef.tsx @@ -12,17 +12,16 @@ export function useVideoRef() { setVideoBox(boundingBox) }, []) - function handleResize() { + const handleResize = useCallback(() => { videoRefCallback(videoRef.current!) - } + }, [videoRefCallback]) - // Recalculate the videoBox when the window is resized useEffect(() => { window.addEventListener('resize', handleResize) return () => { window.removeEventListener('resize', handleResize) } - }, []) + }, [handleResize]) return { videoBox, videoRef, videoRefCallback } } From a74fd16c19a13a2bcec921900c02af2f0b70c151 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 18 Jan 2025 09:22:21 -0800 Subject: [PATCH 05/14] Adjust shiki highlighter. --- next/src/mdx/rehype.mjs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/next/src/mdx/rehype.mjs b/next/src/mdx/rehype.mjs index a57309a..0b45ff4 100644 --- a/next/src/mdx/rehype.mjs +++ b/next/src/mdx/rehype.mjs @@ -6,25 +6,35 @@ import { toString } from 'mdast-util-to-string' import * as acorn from 'acorn' import { slugifyWithCounter } from '@sindresorhus/slugify' +// Move highlighter initialization outside the plugin +let highlighter +let theme + +// Initialize these in an async function +async function initializeHighlighter() { + if (!highlighter) { + theme = await shiki.loadTheme('themes/github-light.json') + highlighter = await shiki.getHighlighter({ theme }) + } + return highlighter +} + function rehypeParseCodeBlocks() { return (tree) => { visit(tree, 'element', (node, _nodeIndex, parentNode) => { if (node.tagName === 'code' && node.properties.className) { parentNode.properties.language = node.properties.className[0]?.replace( /^language-/, - '' + '', ) } }) } } -let highlighter - function rehypeShiki() { return async (tree) => { - highlighter = - highlighter ?? (await shiki.getHighlighter({ theme: 'css-variables' })) + const highlighter = await initializeHighlighter() visit(tree, 'element', (node) => { if (node.tagName === 'pre' && node.children[0]?.tagName === 'code') { @@ -36,7 +46,7 @@ function rehypeShiki() { if (node.properties.language) { let tokens = highlighter.codeToThemedTokens( textNode.value, - node.properties.language + node.properties.language, ) textNode.value = shiki.renderToHtml(tokens, { From 326858b2d819f11bae1bad56e4593e11d9a58abe Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 18 Jan 2025 10:09:37 -0800 Subject: [PATCH 06/14] Change all ` +