Files
michalvankodev-site/src/blog_posts/blog_post_model.rs
2024-10-07 10:08:56 +02:00

27 lines
677 B
Rust

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use crate::post_utils::post_parser::deserialize_date;
pub const BLOG_POST_PATH: &str = "_posts/blog";
#[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "lowercase")] // Optional, this converts enum variants to lowercase
pub enum Segment {
Blog,
Broadcasts,
Featured,
Cookbook,
}
#[derive(Deserialize, Debug)]
pub struct BlogPostMetadata {
pub title: String,
pub segments: Vec<Segment>,
pub published: bool,
#[serde(deserialize_with = "deserialize_date")]
pub date: DateTime<Utc>,
pub thumbnail: Option<String>,
pub tags: Vec<String>,
}