aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/layout.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/routes/ui/layout.rs')
-rw-r--r--server/src/routes/ui/layout.rs24
1 files changed, 21 insertions, 3 deletions
diff --git a/server/src/routes/ui/layout.rs b/server/src/routes/ui/layout.rs
index d0bb780..5ca07ea 100644
--- a/server/src/routes/ui/layout.rs
+++ b/server/src/routes/ui/layout.rs
@@ -56,11 +56,29 @@ impl RenderAttributeValue for TrString<'_> {
false
}
}
-pub fn trsa<'a>(lang: &Language, key: &str, args: &[(&str, &str)]) -> TrString<'a> {
- TrString(tr(*lang, key, args))
+
+pub fn escape(str: &str) -> String {
+ let mut o = String::with_capacity(str.len());
+ let mut last = 0;
+ for (index, byte) in str.bytes().enumerate() {
+ if let Some(esc) = match byte {
+ b'<' => Some("&lt;"),
+ b'>' => Some("&gt;"),
+ b'&' => Some("&amp;"),
+ b'"' => Some("&quot;"),
+ _ => None,
+ } {
+ o += &str[last..index];
+ o += esc;
+ last = index + 1;
+ }
+ }
+ o += &str[last..];
+ o
}
+
pub fn trs<'a>(lang: &Language, key: &str) -> TrString<'a> {
- TrString(tr(*lang, key, &[]))
+ TrString(tr(*lang, key))
}
markup::define! {