diff --git a/src/data/badges.rs b/src/data/badges.rs new file mode 100644 index 0000000..128b5fc --- /dev/null +++ b/src/data/badges.rs @@ -0,0 +1,45 @@ +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize)] +pub struct Friend { + link: &'static str, + badge: &'static str, +} + +pub const BADGES: &[&str] = &[ + "arc.webp", + "blink.gif", + "bitwarden.gif", + "cc-by-nc-sa.gif", + "catppuccin.webp", + "discordserver.gif", + "fedi.gif", + "gaywebring.gif", + "gimp.gif", + "nix.gif", + "queercoded.webp", + "nec.gif", + "love_blahaj.gif", + "she-her.webp", + "tgirl.webp", + "transnow.png", + "www.gif", + "iesucks.gif", + "scripts.gif", +]; + +pub const FRIENDS: &[Friend] = &[ + // "https://garfunkles.space/88x31.webp" + Friend { + link: "https://genshibe.ca", + badge: "gen.png", + }, + Friend { + link: "https://alyxia.dev", + badge: "alyxia.png", + }, + Friend { + link: "https://nax.dev", + badge: "nax.gif", + }, +]; diff --git a/src/data/mod.rs b/src/data/mod.rs index 87b23a1..65ae879 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -1,3 +1,4 @@ +pub mod badges; pub mod blog; pub mod donos; pub mod projects; diff --git a/src/main.rs b/src/main.rs index c062ee4..a8de763 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,6 +16,7 @@ mod templates; use crate::templates::TEMPLATES; +#[allow(clippy::too_many_lines)] #[tokio::main] async fn main() { dotenv().ok(); @@ -56,7 +57,15 @@ async fn main() { let app = Router::new() .route("/", get(render("home", &tera::Context::new()))) .route("/projects", get(projects)) - .route("/badges", get(render("badges", &tera::Context::new()))) + .route( + "/badges", + get({ + let mut ctx = tera::Context::new(); + ctx.insert("badges", &data::badges::BADGES); + ctx.insert("friends", &data::badges::FRIENDS); + render("badges", &ctx) + }), + ) .route( "/donations", get(match data::donos::get() { diff --git a/static/2004/arc.webp b/static/badges/badges/arc.webp similarity index 100% rename from static/2004/arc.webp rename to static/badges/badges/arc.webp diff --git a/static/2004/bitwarden.gif b/static/badges/badges/bitwarden.gif similarity index 100% rename from static/2004/bitwarden.gif rename to static/badges/badges/bitwarden.gif diff --git a/static/2004/blink.gif b/static/badges/badges/blink.gif similarity index 100% rename from static/2004/blink.gif rename to static/badges/badges/blink.gif diff --git a/static/2004/catppuccin.webp b/static/badges/badges/catppuccin.webp similarity index 100% rename from static/2004/catppuccin.webp rename to static/badges/badges/catppuccin.webp diff --git a/static/2004/cc-by-nc-sa.gif b/static/badges/badges/cc-by-nc-sa.gif similarity index 100% rename from static/2004/cc-by-nc-sa.gif rename to static/badges/badges/cc-by-nc-sa.gif diff --git a/static/2004/discordserver.gif b/static/badges/badges/discordserver.gif similarity index 100% rename from static/2004/discordserver.gif rename to static/badges/badges/discordserver.gif diff --git a/static/2004/fedi.gif b/static/badges/badges/fedi.gif similarity index 100% rename from static/2004/fedi.gif rename to static/badges/badges/fedi.gif diff --git a/static/2004/gaywebring.gif b/static/badges/badges/gaywebring.gif similarity index 100% rename from static/2004/gaywebring.gif rename to static/badges/badges/gaywebring.gif diff --git a/static/2004/gimp.gif b/static/badges/badges/gimp.gif similarity index 100% rename from static/2004/gimp.gif rename to static/badges/badges/gimp.gif diff --git a/static/2004/iesucks.gif b/static/badges/badges/iesucks.gif similarity index 100% rename from static/2004/iesucks.gif rename to static/badges/badges/iesucks.gif diff --git a/static/2004/love_blahaj.gif b/static/badges/badges/love_blahaj.gif similarity index 100% rename from static/2004/love_blahaj.gif rename to static/badges/badges/love_blahaj.gif diff --git a/static/2004/nec.gif b/static/badges/badges/nec.gif similarity index 100% rename from static/2004/nec.gif rename to static/badges/badges/nec.gif diff --git a/static/2004/nix.gif b/static/badges/badges/nix.gif similarity index 100% rename from static/2004/nix.gif rename to static/badges/badges/nix.gif diff --git a/static/2004/queercoded.webp b/static/badges/badges/queercoded.webp similarity index 100% rename from static/2004/queercoded.webp rename to static/badges/badges/queercoded.webp diff --git a/static/2004/scripts.gif b/static/badges/badges/scripts.gif similarity index 100% rename from static/2004/scripts.gif rename to static/badges/badges/scripts.gif diff --git a/static/2004/she-her.webp b/static/badges/badges/she-her.webp similarity index 100% rename from static/2004/she-her.webp rename to static/badges/badges/she-her.webp diff --git a/static/2004/tgirl.webp b/static/badges/badges/tgirl.webp similarity index 100% rename from static/2004/tgirl.webp rename to static/badges/badges/tgirl.webp diff --git a/static/2004/transnow.png b/static/badges/badges/transnow.png similarity index 100% rename from static/2004/transnow.png rename to static/badges/badges/transnow.png diff --git a/static/2004/www.gif b/static/badges/badges/www.gif similarity index 100% rename from static/2004/www.gif rename to static/badges/badges/www.gif diff --git a/static/badges/friends/alyxia.png b/static/badges/friends/alyxia.png new file mode 100644 index 0000000000000000000000000000000000000000..1668e51bf9f1563b2c26d0a85896e665107775f7 GIT binary patch literal 360 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 z Y$k-dj7|pcQtkmSMn}gP>X=!Vd?s9#3!<6qWf7Zu|fnik`$ERm^E4Qa#nD6v{ zAFuc1S=LV6I?(KCF>#*j>a5_#9rC=%Zq5qN)i^D9D&M*85@&L0|K3xovEV{8M;y;d zyONn77N0H7y&XMwmw8@*Lgec*F2Bzo?i>l-9&v8Z&d*|s1Y?xalDE#`1*APx*;>q8 z(cYC%%fZ>tHE|+02YXB5jKtLHZU+_)o_@|rOSq=+wG{=-UOAI#{z3+Z#Y?%lCvvP< zwa#(P+|mu4n>H_sp}(}nEo65e9Z33)ZET=uv1HwcOj$G z{s#+^HB_5gI7PHNWIP+0Oam7=?PuIn+OT+8+Q%a{Ga4RTJHjQV7qcP3G3DfZMcpek zSAuSPFV0HSn!qNQ#5Bihaohn1)2!A^&aPuJn*=gVmTSy3YS7yH>RbS)*p$WFwHR*e zvM{t5wJykuon2h`>B`OGb+^{$-fvUf@IbJMQ&PpH!Jt^<)`rCziY#x~(%j5gGJ+;; zINYBWy&zYSq2%WUwm>&EZ2>;(#(JVKvNFI#ze6B9F!jDf~71yd726;LU=*quvcR_3KC zFZ))zzuR#rLdN{@K^B(vQelu{R@U*=lMKdZic@~xnXpLW=+dTCE>X1^k(*z#@&wEd zOPH3Rv@tOJwnng(kS6mozs0xCOi6IuyTD7k1M;)M1dg+e)#q*Q-Ph2~7T`r{T4kA?~&Ms2cZyxY>`vGK&Nl32NY*kZJV;pwc&o2#(I zC{Grv#x7ap7&Uls`Sg)ZMwl_WzRS|Pl%bKeO~B`bf+7>kRGs6sDck}2Gow^@3PkMm zIHYMcB|0;&^#Na$MVNBf!p{m!Q>|9KH4(GbG&y*p@8Hh1v%9wCoS2_{x$bOudEV{* XD(3%xqm&fx*S3Gp1-FnuJsE2NULvq$ literal 0 HcmV?d00001 diff --git a/static/2004/me.gif b/static/badges/me.gif similarity index 100% rename from static/2004/me.gif rename to static/badges/me.gif diff --git a/templates/pages/badges.tera b/templates/pages/badges.tera index 38deaf9..0794b7b 100644 --- a/templates/pages/badges.tera +++ b/templates/pages/badges.tera @@ -9,39 +9,12 @@

{{ description }}

-{% set badges = [ - "arc.webp", - "blink.gif", - "bitwarden.gif", - "cc-by-nc-sa.gif", - "catppuccin.webp", - "discordserver.gif", - "fedi.gif", - "gaywebring.gif", - "gimp.gif", - "nix.gif", - "queercoded.webp", - "nec.gif", - "love_blahaj.gif", - "she-her.webp", - "tgirl.webp", - "transnow.png", - "www.gif", - "iesucks.gif", - "scripts.gif", -] %} - -{% set friends = [ - "https://garfunkles.space/88x31.webp", - "https://genshibe.ca/assets/button.png", -] %} -

Friends

{% for friend in friends %} - + {% endfor %}
@@ -50,7 +23,7 @@

Badges

{% for badge in badges %} - + {% endfor %}
@@ -58,9 +31,9 @@

Want to add me to your website?

- + - +