aboutsummaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2020-10-25 05:36:08 +0100
committerKatharina Fey <kookie@spacekookie.de>2020-10-25 05:36:08 +0100
commit63cd5d0a8d3f77c0267f12a6aef52533cc2f7d09 (patch)
treed46fb6058a6ade2726154fff76d5bda1d6dfc7e0 /src/pages
parent392444d21101ce7b637f2e5a385490605f93ccf1 (diff)
Adding a whole lot of shit (octopus and supergit)
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/files.rs20
-rw-r--r--src/pages/mod.rs38
-rw-r--r--src/pages/overview.rs24
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))
+}