diff options
| author | Fuwn <[email protected]> | 2024-07-24 04:09:50 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-07-24 04:15:26 +0000 |
| commit | 5539b5240f1ee86754de3723adfefbfe4e654341 (patch) | |
| tree | cba3f0dc13800fdb8aee82ca72aaed513db5c3d3 /src/html.rs | |
| parent | chore: bump version (diff) | |
| download | september-5539b5240f1ee86754de3723adfefbfe4e654341.tar.xz september-5539b5240f1ee86754de3723adfefbfe4e654341.zip | |
fix(html): use markdown safety
Diffstat (limited to 'src/html.rs')
| -rw-r--r-- | src/html.rs | 9 |
1 files changed, 7 insertions, 2 deletions
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<String> { )) } +fn safe(text: &str) -> String { + comrak::markdown_to_html(text, &comrak::ComrakOptions::default()) + .replace("<p>", "") + .replace("</p>", "") +} + #[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( "<ul>{}</ul>", items .iter() - .map(|i| format!("<li>{i}</li>")) + .map(|i| format!("<li>{}</li>", safe(i))) .collect::<Vec<String>>() .join("\n") )), |