diff options
Diffstat (limited to 'src/views/posts.rs')
-rw-r--r-- | src/views/posts.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/views/posts.rs b/src/views/posts.rs new file mode 100644 index 0000000..82b5996 --- /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")] +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 } + } +} |