From 3205827f3fd1c9eaba26266c65b6dcf77e1081b1 Mon Sep 17 00:00:00 2001 From: rm-dr <96270320+rm-dr@users.noreply.github.com> Date: Sun, 2 Nov 2025 11:09:04 -0800 Subject: [PATCH] Backlink component --- .../service-webpage/src/components/misc.rs | 20 +++++++++++++++++++ .../service-webpage/src/routes/betalupi.rs | 8 ++------ .../service-webpage/src/routes/links.rs | 8 ++------ 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/crates/service/service-webpage/src/components/misc.rs b/crates/service/service-webpage/src/components/misc.rs index 53b73c0..77523e2 100644 --- a/crates/service/service-webpage/src/components/misc.rs +++ b/crates/service/service-webpage/src/components/misc.rs @@ -15,3 +15,23 @@ impl Render for FarLink<'_, T> { ) } } + +pub struct Backlinks( + pub &'static [(&'static str, &'static str)], + pub &'static str, +); + +impl Render for Backlinks { + fn render(&self) -> Markup { + html! { + div { + @for (url, text) in self.0 { + a href=(url) style="padding-left:5pt;padding-right:5pt;" { (text) } + "/" + } + + span style="color:var(--metaColor);padding-left:5pt;padding-right:5pt;" { (self.1) } + } + } + } +} diff --git a/crates/service/service-webpage/src/routes/betalupi.rs b/crates/service/service-webpage/src/routes/betalupi.rs index 9844ced..e4a810d 100644 --- a/crates/service/service-webpage/src/routes/betalupi.rs +++ b/crates/service/service-webpage/src/routes/betalupi.rs @@ -5,6 +5,7 @@ use crate::{ components::{ base::{BasePage, PageMetadata}, md::Markdown, + misc::Backlinks, }, routes::assets::{Image_Betalupi, Image_Icon}, }; @@ -21,12 +22,7 @@ pub async fn betalupi() -> Markup { (BasePage( meta, html!( - // TODO: no metadata class, generate backlink array - div { - a href="/" style="padding-left:4pt;padding-right:4pt;" {"home"} - "/" - span class="metaData" style="padding-left:4pt;padding-right:4pt;" { "whats-a-betalupi" } - } + (Backlinks(&[("/", "home")], "whats-a-betalupi")) (Markdown(MD_A)) diff --git a/crates/service/service-webpage/src/routes/links.rs b/crates/service/service-webpage/src/routes/links.rs index d522b18..3be0042 100644 --- a/crates/service/service-webpage/src/routes/links.rs +++ b/crates/service/service-webpage/src/routes/links.rs @@ -5,6 +5,7 @@ use crate::{ components::{ base::{BasePage, PageMetadata}, md::Markdown, + misc::Backlinks, }, routes::assets::Image_Icon, }; @@ -21,12 +22,7 @@ pub async fn links() -> Markup { (BasePage( meta, html!( - // TODO: no metadata class, generate backlink array - div { - a href="/" style="padding-left:4pt;padding-right:4pt;" {"home"} - "/" - span class="metaData" style="padding-left:4pt;padding-right:4pt;" { "links" } - } + (Backlinks(&[("/", "home")], "links")) (Markdown(MD_A))