add alternate link redirects

This commit is contained in:
2025-10-09 12:02:37 +02:00
parent 659a4059d6
commit ff12471308

View File

@@ -1,21 +1,34 @@
use axum::{Router, response::Redirect, routing::get};
pub fn redirects() -> Router {
Router::new()
.route(
"/discord",
get(Redirect::temporary("https://discord.gg/NBXq95C")),
)
.route(
"/github",
get(Redirect::temporary("https://github.com/gractwo")),
)
.route(
"/youtube",
get(Redirect::temporary("https://www.youtube.com/@gractwopl")),
)
.route(
"/bsky",
get(Redirect::temporary("https://bsky.app/profile/gractwo.pl")),
)
#[rustfmt::skip]
const REDIRECTS: &[(&[&str], &str)] = &[
(
&["/discord", "/dsc", "/dc"],
"https://discord.gg/NBXq95C"
),(
&["/github", "/gh"],
"https://github.com/gractwo"
),(
&["/youtube", "/yt"],
"https://www.youtube.com/@gractwopl"
),(
&["/bsky", "/bluesky"],
"https://bsky.app/profile/gractwo.pl",
),
];
macro_rules! build_redirects {
($redirects:expr) => {{
let mut router = Router::new();
for (paths, url) in $redirects {
for path in *paths {
router = router.route(path, get(Redirect::temporary(*url)));
}
}
router
}};
}
pub fn redirects() -> Router {
build_redirects!(REDIRECTS)
}