From 7c282c3aee18f92d8fc263b589317a5688f120ff Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Sun, 3 May 2026 13:15:42 +0700 Subject: [PATCH] feat: add KaTeX component for math typography --- package-lock.json | 26 ++++++++++++++++++++++++++ package.json | 11 ++++++----- src/lib/components/tex.svelte | 26 ++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 src/lib/components/tex.svelte diff --git a/package-lock.json b/package-lock.json index bb04325..a600c2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@sveltejs/kit": "^2.5.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", "autoprefixer": "^10.4.0", + "katex": "^0.16.45", "postcss": "^8.4.0", "svelte": "^5.0.0", "tailwindcss": "^3.4.0", @@ -1795,6 +1796,31 @@ "dev": true, "license": "MIT" }, + "node_modules/katex": { + "version": "0.16.45", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.45.tgz", + "integrity": "sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", diff --git a/package.json b/package.json index 4d075a2..2d97e8b 100644 --- a/package.json +++ b/package.json @@ -18,16 +18,17 @@ "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/kit": "^2.5.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", - "svelte": "^5.0.0", - "vite": "^5.4.0", - "tailwindcss": "^3.4.0", "autoprefixer": "^10.4.0", - "postcss": "^8.4.0" + "katex": "^0.16.45", + "postcss": "^8.4.0", + "svelte": "^5.0.0", + "tailwindcss": "^3.4.0", + "vite": "^5.4.0" }, "devDependencies": { - "svelte-check": "^4.0.0", "prettier": "^3.3.0", "prettier-plugin-svelte": "^3.2.0", + "svelte-check": "^4.0.0", "vitest": "^3.2.0" } } diff --git a/src/lib/components/tex.svelte b/src/lib/components/tex.svelte new file mode 100644 index 0000000..4b8e13b --- /dev/null +++ b/src/lib/components/tex.svelte @@ -0,0 +1,26 @@ + + +{#if ariaLabel} + {@html html} +{:else} + {@html html} +{/if}