use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct OgImageConfig {
pub width: u32,
pub height: u32,
pub background_color: String,
pub text_color: String,
pub title_font_size: u32,
pub description_font_size: u32,
pub font_family: Option<String>,
pub logo_path: Option<String>,
pub format: ImageFormat,
}
impl Default for OgImageConfig {
fn default() -> Self {
Self {
width: 1200,
height: 630,
background_color: "#0b1220".to_string(),
text_color: "#eff6ff".to_string(),
title_font_size: 70,
description_font_size: 28,
font_family: None,
logo_path: None,
format: ImageFormat::Png,
}
}
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum ImageFormat {
#[default]
Png,
Jpeg,
WebP,
}