From 5539b5240f1ee86754de3723adfefbfe4e654341 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 24 Jul 2024 04:09:50 +0000 Subject: fix(html): use markdown safety --- src/html.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/html.rs b/src/html.rs index 81012ed..e9d0b96 100644 --- a/src/html.rs +++ b/src/html.rs @@ -9,6 +9,12 @@ 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("

", "") +} + #[allow(clippy::too_many_lines, clippy::cognitive_complexity)] pub fn from_gemini( response: &germ::request::Response, @@ -21,7 +27,6 @@ pub fn from_gemini( let ast = ast_tree.inner(); let mut html = String::new(); let mut title = String::new(); - let safe = html_escape::encode_text; let mut previous_link = false; let condense_links = { let links = var("CONDENSE_LINKS").map_or_else( @@ -208,7 +213,7 @@ pub fn from_gemini( "", items .iter() - .map(|i| format!("
  • {i}
  • ")) + .map(|i| format!("
  • {}
  • ", safe(i))) .collect::>() .join("\n") )), -- cgit v1.2.3