aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-07-24 04:09:50 +0000
committerFuwn <[email protected]>2024-07-24 04:15:26 +0000
commit5539b5240f1ee86754de3723adfefbfe4e654341 (patch)
treecba3f0dc13800fdb8aee82ca72aaed513db5c3d3 /src
parentchore: bump version (diff)
downloadseptember-5539b5240f1ee86754de3723adfefbfe4e654341.tar.xz
september-5539b5240f1ee86754de3723adfefbfe4e654341.zip
fix(html): use markdown safety
Diffstat (limited to 'src')
-rw-r--r--src/html.rs9
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")
)),