Clone in a terminal:
interleaved.rs
tests/ - Rename project to kaja-html-macro
// Copyright (c) 2026 Johan Mattsson // License: MIT use kaja_html_macro::html; #[test] fn test_interleaved() { let html = html! {{ <h1>Headline</h1> <rust> let a = 1; <markup>Content</markup> </rust> }}; println!("Generated HTML: {:?}", html); assert!(!html.contains("let a = 1;")); assert!(!html.contains("markup")); assert!(html.contains("Content")); } #[test] fn test_one_rust() { let html = html! {{ <h1>Headline</h1> <rust> let a = 1; </rust> }}; println!("Generated HTML: {:?}", html); assert!(!html.contains("let a = 1;")); } #[test] fn test_adding_rust_block_backwards() { let content = html! {{ <div> <rust> for i in 1..=5 { let element_id = format!("row_{:?} ", i); </rust>a little bit backwards but it has to work. $element_id.<rust> } </rust> </div> }}; assert!(!content.contains("<rust>")); assert!(!content.contains("</rust>")); assert!(!content.contains("<markup>")); assert!(!content.contains("</markup>")); assert!(content.contains("little bit backwards")); assert!(content.contains("row_5")); } #[test] fn test_adding_rust_block_and_markup() { let content = html! {{ <div> <rust> for i in 1..=5 { let element_id = format!("id_{:?} ", i); <markup>The proper way: $element_id</markup> } </rust> </div> }}; assert!(!content.contains("<rust>")); assert!(!content.contains("</rust>")); assert!(!content.contains("<markup>")); assert!(!content.contains("</markup>")); assert!(content.contains("The proper way:")); assert!(content.contains("id_5")); }

File history (3 commits)

5666609 Johan Mattsson - johan.mattsson.m@gmail.com
Rename project to kaja-html-macro
Rename project to kaja-html-macro
02c8b48 Johan Mattsson - johan.mattsson.m@gmail.com
Add copyright header
Add copyright header

MIT license
c95af61 Johan Mattsson - johan.mattsson.m@gmail.com
HTML macro for Rust projects
HTML macro for Rust projects

This is a macro that creates a Rust String from an HTML block.

Example:
let content = html!{{ <html></html> }}

Created by Johan Mattsson for Kajacode.

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112