broadcasts on index page
Some checks failed
test / cargo test (push) Failing after 1m9s

This commit is contained in:
2024-10-03 20:59:01 +02:00
parent ceb3f4b89d
commit 2a043ae823
10 changed files with 110 additions and 22 deletions

View File

@ -5,7 +5,7 @@ use crate::post_utils::post_parser::deserialize_date;
pub const BLOG_POST_PATH: &str = "_posts/blog";
#[derive(Deserialize, Debug)]
#[derive(Deserialize, Debug, Clone)]
pub struct BlogPostMetadata {
pub title: String,
pub segments: Vec<String>,

View File

@ -1,15 +0,0 @@
use axum::http::StatusCode;
use crate::post_utils::{post_listing::get_post_list, post_parser::ParseResult};
use super::blog_post_model::{BlogPostMetadata, BLOG_POST_PATH};
pub async fn get_featured_blog_posts() -> Result<Vec<ParseResult<BlogPostMetadata>>, StatusCode> {
let mut post_list = get_post_list::<BlogPostMetadata>(BLOG_POST_PATH).await?;
post_list.retain(|post| post.metadata.segments.contains(&"featured".to_string()));
post_list.retain(|post| post.metadata.published);
post_list.sort_by_key(|post| post.metadata.date);
post_list.reverse();
Ok(post_list)
}

View File

@ -1,2 +1 @@
pub mod blog_post_model;
pub mod featured_blog_posts;