Bundle KaTeX font assets
Add every font referenced by the vendored KaTeX stylesheet so math renders without missing local assets. Cover the CSS-to-font contract with a focused regression test and document ownership.
Alessandro committed
Jul 14, 2026 at 15:56 UTC
84bc867ec9385e1895f1ad20c2806ebbd6174a79
62 files changed
+16
tests/test_webui_katex_assets.py
new
+14
@@ -0,0 +1,14 @@
1
+from pathlib import Path
2
+import re
3
+
4
+
5
+PROJECT_ROOT = Path(__file__).resolve().parents[1]
6
+
7
+
8
+def test_katex_css_font_assets_are_complete():
9
+ katex = PROJECT_ROOT / "webui" / "vendor" / "katex"
10
+ css = (katex / "katex.min.css").read_text(encoding="utf-8")
11
+ referenced = set(re.findall(r"fonts/(KaTeX_[^)\"']+\.(?:woff2|woff|ttf))", css))
12
+ available = {path.name for path in (katex / "fonts").iterdir() if path.is_file()}
13
+
14
+ assert referenced == available
webui/vendor/katex/AGENTS.md
+2
@@ -9,11 +9,13 @@
9
- `katex.min.js` owns core rendering behavior.
10
- `katex.auto-render.min.js` owns auto-render support.
11
- `katex.min.css` owns KaTeX styling.
12
+- `fonts/` owns every font asset referenced by `katex.min.css`.
13
14
## Local Contracts
15
16
- Do not hand-edit minified vendor files.
17
- Keep markdown/message rendering imports synchronized with asset paths.
18
+- Keep the CSS font references fully available under `fonts/`.
19
20
## Work Guidance
21
webui/vendor/katex/fonts/KaTeX_AMS-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_AMS-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_AMS-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_AMS-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_AMS-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Main-Bold.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Bold.ttf differ
webui/vendor/katex/fonts/KaTeX_Main-Bold.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Bold.woff differ
webui/vendor/katex/fonts/KaTeX_Main-Bold.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Bold.woff2 differ
webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf differ
webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff differ
webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 differ
webui/vendor/katex/fonts/KaTeX_Main-Italic.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Italic.ttf differ
webui/vendor/katex/fonts/KaTeX_Main-Italic.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Italic.woff differ
webui/vendor/katex/fonts/KaTeX_Main-Italic.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Italic.woff2 differ
webui/vendor/katex/fonts/KaTeX_Main-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Main-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Main-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Main-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf differ
webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff differ
webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 differ
webui/vendor/katex/fonts/KaTeX_Math-Italic.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-Italic.ttf differ
webui/vendor/katex/fonts/KaTeX_Math-Italic.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-Italic.woff differ
webui/vendor/katex/fonts/KaTeX_Math-Italic.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Math-Italic.woff2 differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Script-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Script-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Script-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Script-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Script-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Script-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Size1-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size1-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Size1-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size1-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Size1-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Size2-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size2-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Size2-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size2-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Size2-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Size3-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size3-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Size3-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size3-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Size3-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Size4-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size4-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Size4-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size4-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Size4-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 differ
webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf differ
webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff differ
webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2
Binary files /dev/null and b/webui/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 differ