From 444be44008572602999fe12d5def39e0d355d571 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Wed, 23 Oct 2024 10:57:09 +0200 Subject: [PATCH] Add spoiler tags (fixes #78) --- Cargo.lock | 11 +++++++++++ Cargo.toml | 1 + src/backend/assets.rs | 2 +- src/frontend/markdown.rs | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 7dfdf99..482409a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1735,6 +1735,7 @@ dependencies = [ "leptos_router", "log", "markdown-it", + "markdown-it-block-spoiler", "once_cell", "pretty_assertions", "rand", @@ -2293,6 +2294,16 @@ dependencies = [ "unicode-general-category", ] +[[package]] +name = "markdown-it-block-spoiler" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008a8e4184fd08b5dca0f2b5b2ef8f126c1e83ca797c44ee41f8d7765951360c" +dependencies = [ + "itertools 0.13.0", + "markdown-it", +] + [[package]] name = "matchit" version = "0.7.3" diff --git a/Cargo.toml b/Cargo.toml index 17309f9..bf0ee20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,6 +81,7 @@ smart-default = "0.7.1" tower-layer = "0.3.3" katex = { version = "0.4", default-features = false } include_dir = "0.7.4" +markdown-it-block-spoiler = "1.0.0" [dev-dependencies] pretty_assertions = "1.4.1" diff --git a/src/backend/assets.rs b/src/backend/assets.rs index 66942ad..4ab0d96 100644 --- a/src/backend/assets.rs +++ b/src/backend/assets.rs @@ -72,7 +72,7 @@ async fn serve_wasm() -> MyResult { #[debug_handler] async fn get_font(Path(font): Path) -> MyResult { - let mut headers = HeaderMap::new(); + let headers = HeaderMap::new(); 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 0d5188f..1448405 100644 --- a/src/frontend/markdown.rs +++ b/src/frontend/markdown.rs @@ -33,6 +33,7 @@ fn markdown_parser() -> MarkdownIt { markdown_it::plugins::extra::strikethrough::add(&mut parser); markdown_it::plugins::extra::tables::add(&mut parser); markdown_it::plugins::extra::typographer::add(&mut parser); + markdown_it_block_spoiler::add(&mut parser); parser.inline.add_rule::(); parser.inline.add_rule::(); parser