diff options
author | Kaiden Fey <kookie@spacekookie.de> | 2020-10-25 05:36:08 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2020-10-25 05:36:08 +0100 |
commit | 63cd5d0a8d3f77c0267f12a6aef52533cc2f7d09 (patch) | |
tree | d46fb6058a6ade2726154fff76d5bda1d6dfc7e0 /src/pages | |
parent | 392444d21101ce7b637f2e5a385490605f93ccf1 (diff) |
Adding a whole lot of shit (octopus and supergit)
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/files.rs | 20 | ||||
-rw-r--r-- | src/pages/mod.rs | 38 | ||||
-rw-r--r-- | src/pages/overview.rs | 24 |
3 files changed, 50 insertions, 32 deletions
diff --git a/src/pages/files.rs b/src/pages/files.rs new file mode 100644 index 0000000..73a86a4 --- /dev/null +++ b/src/pages/files.rs @@ -0,0 +1,20 @@ +//! The main file browser + +use crate::templ_data::{files::Files, BaseData}; +use actix_web::{web, HttpRequest, HttpResponse, Result}; +use askama::Template; + +pub async fn render(req: HttpRequest) -> Result<HttpResponse> { + let files = Files { + base: BaseData { + sitename: "dev.spacekookie.de".into(), + ..BaseData::default() + }, + readme: None, + path: "".into(), + } + .render() + .unwrap(); + + Ok(HttpResponse::Ok().content_type("text/html").body(files)) +} diff --git a/src/pages/mod.rs b/src/pages/mod.rs index 5689af7..2f1ed57 100644 --- a/src/pages/mod.rs +++ b/src/pages/mod.rs @@ -3,39 +3,13 @@ //! A page is defined by it's template type as well as it's route, //! which is exported from the module and then called by the router -pub mod repo; +// pub mod repo; + +mod overview; +pub use overview::render as overview; mod p404; pub use p404::render as p404; -use actix_web::{web, HttpRequest, HttpResponse, Result}; -use askama::Template; - -pub(crate) struct BaseData { - sitename: String, - has_wiki: bool, -} - -#[derive(Template)] -#[template(path = "index.html", escape = "none")] -pub(crate) struct Index { - base: BaseData, - readme: String, -} - -pub async fn index(req: HttpRequest) -> Result<HttpResponse> { - - let readme: String = markdown::to_html(include_str!("../../fake-readme.md").into()); - - let index = Index { - base: BaseData { - sitename: "dev.spacekookie.de".into(), - has_wiki: true, - }, - readme - - } - .render() - .unwrap(); - Ok(HttpResponse::Ok().content_type("text/html").body(index)) -} +mod files; +pub use files::render as files; diff --git a/src/pages/overview.rs b/src/pages/overview.rs new file mode 100644 index 0000000..ca8c9b3 --- /dev/null +++ b/src/pages/overview.rs @@ -0,0 +1,24 @@ +//! Overview page +//! +//! This is the first page a user sees when they just go to the site +//! root. It renders the `README`, or `README.md` file from the modo +//! repo root, to provide users with a starting point. + +use crate::templ_data::{overview::Index, BaseData}; +use actix_web::{web, HttpRequest, HttpResponse, Result}; +use askama::Template; + +pub async fn render(req: HttpRequest) -> Result<HttpResponse> { + let readme: String = markdown::to_html(include_str!("../../fake-readme.md").into()); + + let index = Index { + base: BaseData { + sitename: "dev.spacekookie.de".into(), + ..BaseData::default() + }, + readme, + } + .render() + .unwrap(); + Ok(HttpResponse::Ok().content_type("text/html").body(index)) +} |