diff options
Diffstat (limited to 'src/views')
-rw-r--r-- | src/views/about.rs | 17 | ||||
-rw-r--r-- | src/views/brochure.rs | 6 | ||||
-rw-r--r-- | src/views/highered.rs | 6 | ||||
-rw-r--r-- | src/views/index.rs | 6 | ||||
-rw-r--r-- | src/views/k12.rs | 6 | ||||
-rw-r--r-- | src/views/policies.rs | 6 | ||||
-rw-r--r-- | src/views/post.rs | 15 | ||||
-rw-r--r-- | src/views/posts.rs | 18 | ||||
-rw-r--r-- | src/views/pro.rs | 6 |
9 files changed, 86 insertions, 0 deletions
diff --git a/src/views/about.rs b/src/views/about.rs new file mode 100644 index 0000000..d2e0958 --- /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.j2")] +pub struct AboutView<T: Tutor> { + tutors: Vec<T>, +} + +impl<T: Tutor> AboutView<T> { + pub fn with_tutors(tutors: impl IntoIterator<Item = T>) -> Self { + let mut tutors: Vec<T> = 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..fedf827 --- /dev/null +++ b/src/views/brochure.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "brochure/index.html.j2")] +pub struct BrochureTemplate; diff --git a/src/views/highered.rs b/src/views/highered.rs new file mode 100644 index 0000000..108a76a --- /dev/null +++ b/src/views/highered.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "highered.html.j2")] +pub struct HigherEdTemplate; diff --git a/src/views/index.rs b/src/views/index.rs new file mode 100644 index 0000000..720749a --- /dev/null +++ b/src/views/index.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "index.html.j2")] +pub struct IndexTemplate; diff --git a/src/views/k12.rs b/src/views/k12.rs new file mode 100644 index 0000000..c7dc019 --- /dev/null +++ b/src/views/k12.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "k12.html.j2")] +pub struct K12Template; diff --git a/src/views/policies.rs b/src/views/policies.rs new file mode 100644 index 0000000..4253e6c --- /dev/null +++ b/src/views/policies.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "policies.html.j2")] +pub struct PoliciesTemplate; diff --git a/src/views/post.rs b/src/views/post.rs new file mode 100644 index 0000000..03e5ef2 --- /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.j2")] +pub struct PostView<P: Post> { + post: P, +} + +impl<P: Post> PostView<P> { + pub fn with_post(post: P) -> Self { + Self { post } + } +} diff --git a/src/views/posts.rs b/src/views/posts.rs new file mode 100644 index 0000000..5091059 --- /dev/null +++ b/src/views/posts.rs @@ -0,0 +1,18 @@ +use crate::helpers::*; +use crate::posts::abstractions::post::Post; +use askama::Template; + +#[derive(Template)] +#[template(path = "posts.html.j2")] +pub struct PostsView<P: Post> { + posts: Vec<P>, +} + +impl<P: Post> PostsView<P> { + pub fn with_posts(posts: impl IntoIterator<Item = P>) -> Self { + let mut posts: Vec<P> = posts.into_iter().collect(); + posts.sort(); + posts.reverse(); + Self { posts } + } +} diff --git a/src/views/pro.rs b/src/views/pro.rs new file mode 100644 index 0000000..eacfd7c --- /dev/null +++ b/src/views/pro.rs @@ -0,0 +1,6 @@ +use crate::helpers::*; +use askama::Template; + +#[derive(Template)] +#[template(path = "pro.html.j2")] +pub struct ProTemplate; |