//! The view that renders a repository use actix_web::{web, HttpRequest, HttpResponse, Result}; use askama::Template; #[derive(Template)] #[template(path = "repo.html")] struct Repo<'a> { project_owner: &'a str, project_summary: &'a str, project_name: &'a str, project_logo: &'a str, project_logo_alt_text: &'a str, first_commit: &'a str, num_commits: usize, num_contributors: usize, } pub fn render(req: HttpRequest, path: web::Path<(String)>) -> Result { println!("Rendering path: {:#?}", path); dbg!(req); let repo = Repo { project_owner: "spacekookie", project_summary: "A lightweight web frontend for git repositories", project_name: "webgit", project_logo: "rust.png", project_logo_alt_text: "Rust logo", first_commit: "f6ca929", num_commits: 123, num_contributors: 3, } .render() .unwrap(); Ok(HttpResponse::Ok().content_type("text/html").body(repo)) }