add alternate link redirects
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user