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}; use axum::{Router, response::Redirect, routing::get};
pub fn redirects() -> Router { #[rustfmt::skip]
Router::new() const REDIRECTS: &[(&[&str], &str)] = &[
.route( (
"/discord", &["/discord", "/dsc", "/dc"],
get(Redirect::temporary("https://discord.gg/NBXq95C")), "https://discord.gg/NBXq95C"
) ),(
.route( &["/github", "/gh"],
"/github", "https://github.com/gractwo"
get(Redirect::temporary("https://github.com/gractwo")), ),(
) &["/youtube", "/yt"],
.route( "https://www.youtube.com/@gractwopl"
"/youtube", ),(
get(Redirect::temporary("https://www.youtube.com/@gractwopl")), &["/bsky", "/bluesky"],
) "https://bsky.app/profile/gractwo.pl",
.route( ),
"/bsky", ];
get(Redirect::temporary("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)
} }