diff --git a/Cargo.lock b/Cargo.lock index 269f23d..7dfdf99 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1726,6 +1726,7 @@ dependencies = [ "env_logger", "futures", "hex", + "include_dir", "jsonwebtoken", "katex", "leptos", @@ -1780,6 +1781,25 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "include_dir" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] + [[package]] name = "indexmap" version = "2.2.3" diff --git a/Cargo.toml b/Cargo.toml index cda386b..17309f9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -80,6 +80,7 @@ doku = "0.21.1" smart-default = "0.7.1" tower-layer = "0.3.3" katex = { version = "0.4", default-features = false } +include_dir = "0.7.4" [dev-dependencies] pretty_assertions = "1.4.1" diff --git a/assets/fonts/KaTeX_AMS-Regular.ttf b/assets/fonts/KaTeX_AMS-Regular.ttf deleted file mode 100644 index 737cf8e..0000000 Binary files a/assets/fonts/KaTeX_AMS-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_AMS-Regular.woff b/assets/fonts/KaTeX_AMS-Regular.woff deleted file mode 100644 index 38378bf..0000000 Binary files a/assets/fonts/KaTeX_AMS-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Caligraphic-Bold.ttf b/assets/fonts/KaTeX_Caligraphic-Bold.ttf deleted file mode 100644 index 04d28ab..0000000 Binary files a/assets/fonts/KaTeX_Caligraphic-Bold.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Caligraphic-Bold.woff b/assets/fonts/KaTeX_Caligraphic-Bold.woff deleted file mode 100644 index a01ce90..0000000 Binary files a/assets/fonts/KaTeX_Caligraphic-Bold.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Caligraphic-Regular.ttf b/assets/fonts/KaTeX_Caligraphic-Regular.ttf deleted file mode 100644 index b2ce555..0000000 Binary files a/assets/fonts/KaTeX_Caligraphic-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Caligraphic-Regular.woff b/assets/fonts/KaTeX_Caligraphic-Regular.woff deleted file mode 100644 index bc169b7..0000000 Binary files a/assets/fonts/KaTeX_Caligraphic-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Fraktur-Bold.ttf b/assets/fonts/KaTeX_Fraktur-Bold.ttf deleted file mode 100644 index c42d169..0000000 Binary files a/assets/fonts/KaTeX_Fraktur-Bold.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Fraktur-Bold.woff b/assets/fonts/KaTeX_Fraktur-Bold.woff deleted file mode 100644 index f30b54b..0000000 Binary files a/assets/fonts/KaTeX_Fraktur-Bold.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Fraktur-Regular.ttf b/assets/fonts/KaTeX_Fraktur-Regular.ttf deleted file mode 100644 index 4133228..0000000 Binary files a/assets/fonts/KaTeX_Fraktur-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Fraktur-Regular.woff b/assets/fonts/KaTeX_Fraktur-Regular.woff deleted file mode 100644 index 5af51de..0000000 Binary files a/assets/fonts/KaTeX_Fraktur-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Bold.ttf b/assets/fonts/KaTeX_Main-Bold.ttf deleted file mode 100644 index 14390e0..0000000 Binary files a/assets/fonts/KaTeX_Main-Bold.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Bold.woff b/assets/fonts/KaTeX_Main-Bold.woff deleted file mode 100644 index 33b4199..0000000 Binary files a/assets/fonts/KaTeX_Main-Bold.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-BoldItalic.ttf b/assets/fonts/KaTeX_Main-BoldItalic.ttf deleted file mode 100644 index ad0761f..0000000 Binary files a/assets/fonts/KaTeX_Main-BoldItalic.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-BoldItalic.woff b/assets/fonts/KaTeX_Main-BoldItalic.woff deleted file mode 100644 index 115af4f..0000000 Binary files a/assets/fonts/KaTeX_Main-BoldItalic.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Italic.ttf b/assets/fonts/KaTeX_Main-Italic.ttf deleted file mode 100644 index fc8625c..0000000 Binary files a/assets/fonts/KaTeX_Main-Italic.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Italic.woff b/assets/fonts/KaTeX_Main-Italic.woff deleted file mode 100644 index 2d3087a..0000000 Binary files a/assets/fonts/KaTeX_Main-Italic.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Regular.ttf b/assets/fonts/KaTeX_Main-Regular.ttf deleted file mode 100644 index 5115a04..0000000 Binary files a/assets/fonts/KaTeX_Main-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Main-Regular.woff b/assets/fonts/KaTeX_Main-Regular.woff deleted file mode 100644 index 42b74ab..0000000 Binary files a/assets/fonts/KaTeX_Main-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Math-BoldItalic.ttf b/assets/fonts/KaTeX_Math-BoldItalic.ttf deleted file mode 100644 index 326b523..0000000 Binary files a/assets/fonts/KaTeX_Math-BoldItalic.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Math-BoldItalic.woff b/assets/fonts/KaTeX_Math-BoldItalic.woff deleted file mode 100644 index 5b4041a..0000000 Binary files a/assets/fonts/KaTeX_Math-BoldItalic.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Math-Italic.ttf b/assets/fonts/KaTeX_Math-Italic.ttf deleted file mode 100644 index f148fce..0000000 Binary files a/assets/fonts/KaTeX_Math-Italic.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Math-Italic.woff b/assets/fonts/KaTeX_Math-Italic.woff deleted file mode 100644 index 31d0038..0000000 Binary files a/assets/fonts/KaTeX_Math-Italic.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Bold.ttf b/assets/fonts/KaTeX_SansSerif-Bold.ttf deleted file mode 100644 index dce35c8..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Bold.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Bold.woff b/assets/fonts/KaTeX_SansSerif-Bold.woff deleted file mode 100644 index 992cb3d..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Bold.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Italic.ttf b/assets/fonts/KaTeX_SansSerif-Italic.ttf deleted file mode 100644 index a3eb86c..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Italic.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Italic.woff b/assets/fonts/KaTeX_SansSerif-Italic.woff deleted file mode 100644 index f4fa252..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Italic.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Regular.ttf b/assets/fonts/KaTeX_SansSerif-Regular.ttf deleted file mode 100644 index 3be73ce..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_SansSerif-Regular.woff b/assets/fonts/KaTeX_SansSerif-Regular.woff deleted file mode 100644 index ec283f4..0000000 Binary files a/assets/fonts/KaTeX_SansSerif-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Script-Regular.ttf b/assets/fonts/KaTeX_Script-Regular.ttf deleted file mode 100644 index 40c8a99..0000000 Binary files a/assets/fonts/KaTeX_Script-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Script-Regular.woff b/assets/fonts/KaTeX_Script-Regular.woff deleted file mode 100644 index 4eafae7..0000000 Binary files a/assets/fonts/KaTeX_Script-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Size1-Regular.ttf b/assets/fonts/KaTeX_Size1-Regular.ttf deleted file mode 100644 index f0aff83..0000000 Binary files a/assets/fonts/KaTeX_Size1-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Size1-Regular.woff b/assets/fonts/KaTeX_Size1-Regular.woff deleted file mode 100644 index 0358ee4..0000000 Binary files a/assets/fonts/KaTeX_Size1-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Size2-Regular.ttf b/assets/fonts/KaTeX_Size2-Regular.ttf deleted file mode 100644 index 4f72f16..0000000 Binary files a/assets/fonts/KaTeX_Size2-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Size2-Regular.woff b/assets/fonts/KaTeX_Size2-Regular.woff deleted file mode 100644 index 8a053d2..0000000 Binary files a/assets/fonts/KaTeX_Size2-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Size3-Regular.ttf b/assets/fonts/KaTeX_Size3-Regular.ttf deleted file mode 100644 index 56d2dc6..0000000 Binary files a/assets/fonts/KaTeX_Size3-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Size3-Regular.woff b/assets/fonts/KaTeX_Size3-Regular.woff deleted file mode 100644 index 0ec99ad..0000000 Binary files a/assets/fonts/KaTeX_Size3-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Size4-Regular.ttf b/assets/fonts/KaTeX_Size4-Regular.ttf deleted file mode 100644 index baf0209..0000000 Binary files a/assets/fonts/KaTeX_Size4-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Size4-Regular.woff b/assets/fonts/KaTeX_Size4-Regular.woff deleted file mode 100644 index ff67319..0000000 Binary files a/assets/fonts/KaTeX_Size4-Regular.woff and /dev/null differ diff --git a/assets/fonts/KaTeX_Typewriter-Regular.ttf b/assets/fonts/KaTeX_Typewriter-Regular.ttf deleted file mode 100644 index e66c218..0000000 Binary files a/assets/fonts/KaTeX_Typewriter-Regular.ttf and /dev/null differ diff --git a/assets/fonts/KaTeX_Typewriter-Regular.woff b/assets/fonts/KaTeX_Typewriter-Regular.woff deleted file mode 100644 index c66d149..0000000 Binary files a/assets/fonts/KaTeX_Typewriter-Regular.woff and /dev/null differ diff --git a/src/backend/assets.rs b/src/backend/assets.rs index 4de51a9..66942ad 100644 --- a/src/backend/assets.rs +++ b/src/backend/assets.rs @@ -8,6 +8,7 @@ use axum::{ Router, }; use axum_macros::debug_handler; +use include_dir::include_dir; use once_cell::sync::OnceCell; use reqwest::header::HeaderMap; use std::fs::read_to_string; @@ -72,16 +73,7 @@ async fn serve_wasm() -> MyResult { #[debug_handler] async fn get_font(Path(font): Path) -> MyResult { let mut headers = HeaderMap::new(); - let content_type = if font.ends_with(".ttf") { - "font/ttf" - } else if font.ends_with(".woff") { - "font/woff" - } else if font.ends_with(".woff2") { - "font/woff2" - } else { - return Err(anyhow!("invalid font").into()); - }; - headers.insert("Content-type", content_type.parse()?); - let content = std::fs::read("assets/fonts/".to_owned() + &font)?; - Ok((headers, content)) + let font_dir = include_dir!("assets/fonts"); + let file = font_dir.get_file(font).ok_or(anyhow!("invalid font"))?; + Ok((headers, file.contents())) } diff --git a/src/frontend/markdown.rs b/src/frontend/markdown.rs index 695936c..0d5188f 100644 --- a/src/frontend/markdown.rs +++ b/src/frontend/markdown.rs @@ -115,7 +115,7 @@ impl InlineRule for MathEquationScanner { return None; } let mut display_mode = false; - if input.starts_with("$$\n") { + if input.starts_with("$$\n") || input.starts_with("$$ ") { display_mode = true; } const SEPARATOR_LENGTH: usize = 2;