diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 0cd7422..6d25118 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -21,3 +21,8 @@ pub async fn resume(state: Arc) -> Result { let state = state.clone(); Response::builder().html(|o| templates::resume_html(o, Html(state.resume.clone()))) } + +pub async fn signalboost(state: Arc) -> Result { + let state = state.clone(); + Response::builder().html(|o| templates::signalboost_html(o, state.signalboost.clone())) +} diff --git a/src/main.rs b/src/main.rs index 05b9677..d965924 100644 --- a/src/main.rs +++ b/src/main.rs @@ -28,7 +28,10 @@ async fn main() -> Result<()> { .or(warp::path!("feeds").and_then(handlers::feeds)) .or(warp::path!("resume") .and(with_state(state.clone())) - .and_then(handlers::resume)); + .and_then(handlers::resume)) + .or(warp::path!("signalboost") + .and(with_state(state.clone())) + .and_then(handlers::signalboost)); let files = warp::path("static") .and(warp::fs::dir("./static")) diff --git a/templates/signalboost.rs.html b/templates/signalboost.rs.html new file mode 100644 index 0000000..87cc8d7 --- /dev/null +++ b/templates/signalboost.rs.html @@ -0,0 +1,29 @@ +@use super::{header_html, footer_html}; +@use crate::signalboost::Person; + +@(people: Vec) + +@:header_html(Some("Signal Boosts"), None) + +

Signal Boosts

+ +

These awesome people are currently looking for a job. If you are looking for anyone with these skills, please feel free to reach out to them.

+ +

To add yourself to this list, fork this website's source code and send a pull request with edits to signalboost.dhall.

+ + +

With COVID-19 raging across the world, these people are in need of a job now more than ever.

+ +

People

+ +
+ @for person in people { +
+ @person.name +

@for tag in person.tags { @tag }

+ GitHub - Twitter +
+ } +
+ +@:footer_html()