Horrorshow is a POC macro-based HTML templating library that will probably never be developed into anything substantial. It exists solely as an experiment in advanced macro programming.

Links

Github: https://github.com/Stebalien/horrorshow-rs

Docs: https://stebalien.github.io/horrorshow-rs/horrorshow/

Example

html! { html { head { title { : "Hello world!" } } body { // attributes h1(id="heading") { // Insert escaped text : "Hello! This is <html />" } p { // Insert raw text (unescaped) ! "Let's <i>count</i> to 10!" } ol(id="count") { // run some inline code... @ for i in 0..10 { // append to the current template. append_html! { li { // format some text #{"{}", i+1 } } } } } // You need semi-colons for tags without children. br; br; p { : "Easy!" } } } }

Becomes (white-space added for clarity):

<html> <head> <title>Hello world!</title> </head> <body> <h1 id="heading">Hello! This is <html /></h1> <p>Let's <i>count</i> to 10!</p> <ol id="count"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> </ol> <br /> <br /> <p>Easy!</p> </body> </html>

Disclaimers