use serde::Deserialize;
#[derive(Debug, Clone, Default, Deserialize, PartialEq, Eq)]
pub struct FrontMatter {
#[serde(default)]
pub title: Option<String>,
#[serde(default)]
pub date: Option<String>,
#[serde(default)]
pub tags: Vec<String>,
#[serde(default)]
pub draft: bool,
#[serde(default)]
pub layout: Option<String>,
#[serde(default)]
pub description: Option<String>,
}
impl FrontMatter {
pub fn effective_title(&self, fallback: &str) -> String {
self.title.clone().unwrap_or_else(|| fallback.to_owned())
}
}