use maud::{html, Markup, Render}; pub struct HeaderLink { pub path: String, pub name: String, pub prefix: Option, pub postfix: Option, } pub struct Header(pub Vec, pub String); impl Render for Header { fn render(&self) -> Markup { html! { header .page-header { @for header_part in &self.0 { @if let Some(prefix) = header_part.prefix.clone() { div .header-separator { (prefix) } } @if header_part.path == self.1 { div .selected-header { (header_part.name) } } @else { a .unselected-header href=(header_part.path) { (header_part.name) } } @if let Some(postfix) = header_part.postfix.clone() { div .header-separator { (postfix) } } } } } } }