From 596c583dc659f9e56768602f98fd8da6d9434423 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 21 May 2025 08:56:46 +0000 Subject: fix(html): Escape nested list items in headings --- src/html.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/html.rs b/src/html.rs index 609be98..2fd0dc3 100644 --- a/src/html.rs +++ b/src/html.rs @@ -10,9 +10,16 @@ fn link_from_host_href(url: &Url, href: &str) -> Option { } fn safe(text: &str) -> String { - comrak::markdown_to_html(text, &comrak::ComrakOptions::default()) - .replace("

", "") - .replace("

", "") + let is_ordered_list = text.starts_with(|c: char| c.is_ascii_digit()) + && text.get(1..3) == Some(". "); + + if is_ordered_list { + text.to_string() + } else { + comrak::markdown_to_html(text, &comrak::ComrakOptions::default()) + .replace("

", "") + .replace("

", "") + } } #[allow(clippy::too_many_lines, clippy::cognitive_complexity)] -- cgit v1.2.3