From 70e4c0d20f75f1378fc3013ba666805f9c8845f2 Mon Sep 17 00:00:00 2001 From: postscriptum Date: Fri, 4 Jul 2025 16:01:53 +0300 Subject: [PATCH] filter gemtext special chars --- src/nex/template.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/nex/template.rs b/src/nex/template.rs index 4343afd..10755e1 100644 --- a/src/nex/template.rs +++ b/src/nex/template.rs @@ -29,8 +29,8 @@ impl Template { self.pattern .replace( "{content}", - &if self.pattern.contains("{tags}") { - content.replace("#", "") + &if matches!(self.format, Format::Gemtext) || self.pattern.contains("{tags}") { + content.replace('#', "") } else { content }, @@ -60,7 +60,22 @@ impl Template { .replace( "{tags}", &tags - .map(|t| format!("\n\n{}", t.join(", "))) + .map(|t| { + format!( + "\n\n{}", + // trim gemtext special chars + if matches!(self.format, Format::Gemtext) { + let mut b = Vec::with_capacity(t.len()); + for this in t { + b.push(this.replace('#', "")) + } + b + } else { + t + } + .join(", ") + ) + }) .unwrap_or_default(), ) .replace("{link}", &format!("\n\n=> {link}"))