one thing i love about rust's macros is that you can accomplish this without needing a separate file type or inventing syntax
#[component]
pub fn HomePage(user: Option<User>) -> Element {
rsx! {
Layout {
title: "Home",
if let Some(u) = user {
h1 { "Welcome back, {u.name}!" }
a { href: "/users/{u.id}", "Your profile" }
} else {
h1 { "Welcome, guest!" }
a { href: "/login", "Log in" }
}
}
}
}
sroerick•15m ago
That is super cool actually
asimovDev•4m ago
This is just Twig templates, crazy. It's cool that Rust can do this out of a box
Humphrey•11m ago
I love the idea! I could imagine something similar created for other languages too. Perhaps written in a way that a template could be reused i, let's say Django, and a JS React frontend. With all the type-safety that tsx provides.
slopinthebag•33m ago
sroerick•15m ago
asimovDev•4m ago