Text and escaping
Text
Literal strings use the same syntax as Rust.
Wrap them in double quotes, and use a backslash for escapes.
html! {
"Oatmeal, are you crazy?"
}
Raw strings
If the string is long, or contains many special characters, then it may be worth using raw strings instead:
html! {
pre {
r#"
Rocks, these are my rocks.
Sediments make me sedimental.
Smooth and round,
Asleep in the ground.
Shades of brown
And gray.
"#
}
}
Escaping and PreEscaped
By default, HTML special characters are escaped automatically.
Wrap the string in (PreEscaped())
to disable this escaping.
(See the section on splices to learn more about how this works.)
use maud::PreEscaped;
html! {
"<script>alert(\"XSS\")</script>" // <script>...
(PreEscaped("<script>alert(\"XSS\")</script>")) // <script>...
}
The DOCTYPE
constant
If you want to add a <!DOCTYPE html>
declaration to your page, you may use the maud::DOCTYPE
constant instead of writing it out by hand:
use maud::DOCTYPE;
html! {
(DOCTYPE) // <!DOCTYPE html>
}