From 9f341d439f7aa5fd2365024169ead2d6bdc3210c Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Sat, 14 Sep 2024 20:30:05 -0400 Subject: feat: rewrite complete --- src/views/about.rs | 17 +++++++++++++++++ src/views/brochure.rs | 6 ++++++ src/views/index.rs | 6 ++++++ src/views/policies.rs | 6 ++++++ src/views/posts.rs | 17 +++++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 src/views/about.rs create mode 100644 src/views/brochure.rs create mode 100644 src/views/index.rs create mode 100644 src/views/policies.rs create mode 100644 src/views/posts.rs (limited to 'src/views') diff --git a/src/views/about.rs b/src/views/about.rs new file mode 100644 index 0000000..349c9de --- /dev/null +++ b/src/views/about.rs @@ -0,0 +1,17 @@ +use crate::helpers::*; +use crate::tutors::abstractions::tutor::Tutor; +use askama::Template; + +#[derive(Template)] +#[template(path = "about/index.html")] +pub struct AboutView { + tutors: Vec, +} + +impl AboutView { + pub fn with_tutors(tutors: impl IntoIterator) -> Self { + let mut tutors: Vec = tutors.into_iter().collect(); + tutors.sort(); + Self { tutors } + } +} diff --git a/src/views/brochure.rs b/src/views/brochure.rs new file mode 100644 index 0000000..0d2f8fc --- /dev/null +++ b/src/views/brochure.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "brochure/index.html")] +pub struct BrochureTemplate; diff --git a/src/views/index.rs b/src/views/index.rs new file mode 100644 index 0000000..3ced24d --- /dev/null +++ b/src/views/index.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "index.html")] +pub struct IndexTemplate; diff --git a/src/views/policies.rs b/src/views/policies.rs new file mode 100644 index 0000000..3d9787d --- /dev/null +++ b/src/views/policies.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "policies.html")] +pub struct PoliciesTemplate; diff --git a/src/views/posts.rs b/src/views/posts.rs new file mode 100644 index 0000000..2ce69f8 --- /dev/null +++ b/src/views/posts.rs @@ -0,0 +1,17 @@ +use crate::helpers::*; +use crate::posts::abstractions::post::Post; +use askama::Template; + +#[derive(Template)] +#[template(path = "posts.html")] +pub struct PostsView { + posts: Vec

, +} + +impl PostsView

{ + pub fn with_posts(posts: impl IntoIterator) -> Self { + Self { + posts: posts.into_iter().collect(), + } + } +} -- cgit v1.2.3 From 18339f611fd17e1300593edd65adf7604a39ad72 Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Sat, 14 Sep 2024 20:54:44 -0400 Subject: feat: working rudimentary blog presentation --- src/views/post.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/views/post.rs (limited to 'src/views') diff --git a/src/views/post.rs b/src/views/post.rs new file mode 100644 index 0000000..4f0554b --- /dev/null +++ b/src/views/post.rs @@ -0,0 +1,15 @@ +use crate::helpers::*; +use crate::posts::abstractions::post::Post; +use askama::Template; + +#[derive(Template)] +#[template(path = "post.html")] +pub struct PostView { + post: P, +} + +impl PostView

{ + pub fn with_post(post: P) -> Self { + Self { post } + } +} -- cgit v1.2.3 From aad33fee01abe817d82c094f83ffd44ca36c8456 Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Sat, 14 Sep 2024 21:11:51 -0400 Subject: feat: reverse sort posts by modify datetime --- src/views/posts.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/views') diff --git a/src/views/posts.rs b/src/views/posts.rs index 2ce69f8..82b5996 100644 --- a/src/views/posts.rs +++ b/src/views/posts.rs @@ -10,8 +10,9 @@ pub struct PostsView { impl PostsView

{ pub fn with_posts(posts: impl IntoIterator) -> Self { - Self { - posts: posts.into_iter().collect(), - } + let mut posts: Vec

= posts.into_iter().collect(); + posts.sort(); + posts.reverse(); + Self { posts } } } -- cgit v1.2.3