From 01bb2d112d9d8a62e206639b7ab748067d92b597 Mon Sep 17 00:00:00 2001 From: chdeskur Date: Mon, 3 Nov 2025 07:44:34 -0500 Subject: [PATCH 1/4] chore: load katex with async stylesheet --- .../bundle/src/components/AsyncStylesheet.tsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 packages/fern-docs/bundle/src/components/AsyncStylesheet.tsx diff --git a/packages/fern-docs/bundle/src/components/AsyncStylesheet.tsx b/packages/fern-docs/bundle/src/components/AsyncStylesheet.tsx new file mode 100644 index 0000000000..2da96dd0ca --- /dev/null +++ b/packages/fern-docs/bundle/src/components/AsyncStylesheet.tsx @@ -0,0 +1,18 @@ +interface AsyncStylesheetProps { + href: string; + crossOrigin?: "anonymous" | "use-credentials"; +} + +export function AsyncStylesheet({ href, crossOrigin }: AsyncStylesheetProps) { + return ( + { + (e.target as HTMLLinkElement).media = "all"; + }} + /> + ); +} \ No newline at end of file From 5baba7864b48973ee283f1a27833df048a2cbd50 Mon Sep 17 00:00:00 2001 From: chdeskur Date: Mon, 3 Nov 2025 07:54:25 -0500 Subject: [PATCH 2/4] preload --- packages/fern-docs/bundle/src/app/layout.tsx | 16 +------ .../bundle/src/components/AsyncStylesheet.tsx | 45 ++++++++++++++----- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/packages/fern-docs/bundle/src/app/layout.tsx b/packages/fern-docs/bundle/src/app/layout.tsx index e62a35da6b..dd3088ebb4 100644 --- a/packages/fern-docs/bundle/src/app/layout.tsx +++ b/packages/fern-docs/bundle/src/app/layout.tsx @@ -6,6 +6,7 @@ import { Providers } from "@fern-docs/components/providers/providers"; import type { Metadata, Viewport } from "next/types"; import { experimental_taintUniqueValue } from "react"; +import { AsyncStylesheet } from "@/components/AsyncStylesheet"; import { ConsoleMessage } from "@/components/console-message"; import { WebSocketRefresh } from "@/components/websocket-refresh"; @@ -56,23 +57,10 @@ export default function Layout({ children }: { children: React.ReactNode }) { {/* Non-blocking KaTeX CSS loading */} - - -