diff options
| author | Adam <[email protected]> | 2025-12-29 09:54:22 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-29 09:54:22 -0600 |
| commit | 7376c3f8e7ba8a6657836af734d88a2c630e25ed (patch) | |
| tree | 29473e0c12e93423bf265ebc839cf7c1c84b01d9 /packages | |
| parent | 831e9bce51c035ec22ce9562bf0257d6b59b2fe4 (diff) | |
| download | opencode-7376c3f8e7ba8a6657836af734d88a2c630e25ed.tar.gz opencode-7376c3f8e7ba8a6657836af734d88a2c630e25ed.zip | |
feat(desktop): latex support
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/ui/package.json | 11 | ||||
| -rw-r--r-- | packages/ui/src/context/marked.tsx | 4 | ||||
| -rw-r--r-- | packages/ui/src/styles/index.css | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/packages/ui/package.json b/packages/ui/package.json index 3e8422bcd..95156a113 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -25,15 +25,16 @@ "generate:tailwind": "bun run script/tailwind.ts" }, "devDependencies": { + "@tailwindcss/vite": "catalog:", + "@tsconfig/node22": "catalog:", "@types/bun": "catalog:", + "@types/katex": "0.16.7", "@types/luxon": "catalog:", - "@tsconfig/node22": "catalog:", + "tailwindcss": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vite-plugin-icons-spritesheet": "3.0.1", - "vite-plugin-solid": "catalog:", - "tailwindcss": "catalog:", - "@tailwindcss/vite": "catalog:" + "vite-plugin-solid": "catalog:" }, "dependencies": { "@kobalte/core": "catalog:", @@ -46,8 +47,10 @@ "@solidjs/meta": "catalog:", "@typescript/native-preview": "catalog:", "fuzzysort": "catalog:", + "katex": "0.16.27", "luxon": "catalog:", "marked": "catalog:", + "marked-katex-extension": "5.1.6", "marked-shiki": "catalog:", "remeda": "catalog:", "shiki": "catalog:", diff --git a/packages/ui/src/context/marked.tsx b/packages/ui/src/context/marked.tsx index f4d85519d..3bd6cb076 100644 --- a/packages/ui/src/context/marked.tsx +++ b/packages/ui/src/context/marked.tsx @@ -1,4 +1,5 @@ import { marked } from "marked" +import markedKatex from "marked-katex-extension" import markedShiki from "marked-shiki" import { bundledLanguages, type BundledLanguage } from "shiki" import { createSimpleContext } from "./helper" @@ -378,6 +379,9 @@ export const { use: useMarked, provider: MarkedProvider } = createSimpleContext( name: "Marked", init: () => { return marked.use( + markedKatex({ + throwOnError: false, + }), markedShiki({ async highlight(code, lang) { const highlighter = await getSharedHighlighter({ themes: ["OpenCode"], langs: [] }) diff --git a/packages/ui/src/styles/index.css b/packages/ui/src/styles/index.css index 5782d2a29..9bf3e4f69 100644 --- a/packages/ui/src/styles/index.css +++ b/packages/ui/src/styles/index.css @@ -4,6 +4,7 @@ @import "./theme.css" layer(theme); @import "./base.css" layer(base); +@import "katex/dist/katex.min.css" layer(base); @import "../components/accordion.css" layer(components); @import "../components/avatar.css" layer(components); |
