diff options
Diffstat (limited to '')
-rw-r--r-- | src/pages/repo.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/pages/repo.rs b/src/pages/repo.rs new file mode 100644 index 0000000..aa66839 --- /dev/null +++ b/src/pages/repo.rs @@ -0,0 +1,36 @@ +//! 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<HttpResponse> { + 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)) +} |