askama/askama_escape
René Kijewski f564e724e1 Revive askama_escaped
We adopted `askama_escape` with the other askama crates. It was not
updated for quite some time, but still gets 25k+ downloads / day Mon to
Fri.

This PR re-adds the crate using our current HTML escaping function.
2025-03-21 22:45:25 +01:00
..
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00
2025-03-21 22:45:25 +01:00

askama_escape: HTML escaping, extracted from Askama

Crates.io GitHub Workflow Status docs.rs

Useful if you don't need a template engine, but if you need to escape a text for HTML or XML.

This implementation escapes '"', '&', '\'', '<' and '>'.

Example

use askama_escape::{escape, escape_html, escape_html_char, Html};

assert_eq!(
    escape("<script>alert('Hello & bye!')</script>", Html).to_string(),
    "&#60;script&#62;alert(&#39;Hello &#38; bye!&#39;)&#60;/script&#62;",
);

let mut dest = String::new();
escape_html(&mut dest, "<script>alert('Hello & bye!')</script>").unwrap();
assert_eq!(
    dest,
    "&#60;script&#62;alert(&#39;Hello &#38; bye!&#39;)&#60;/script&#62;",
);

let mut dest = String::new();
escape_html_char(&mut dest, '&').unwrap();
assert_eq!(dest, "&#38;");