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