use serde::Serialize; /// The settings that a "global" to a single dustjs render. #[derive(Debug, Serialize)] pub(crate) struct GlobalSettings { /// The title that goes in the html tag in the <head>. page_title: Option<String>, css_files: Vec<String>, js_files: Vec<String>, } impl GlobalSettings { pub(crate) fn new( page_title: Option<String>, css_files: Vec<String>, js_files: Vec<String>, ) -> GlobalSettings { GlobalSettings { page_title, css_files, js_files, } } } #[derive(Debug, Serialize)] #[serde(tag = "type")] #[serde(rename = "blog_post_page")] pub(crate) struct RenderBlogPostPage { global_settings: GlobalSettings, /// The title that will be shown visibly on the page. title: Option<String>, self_link: Option<String>, } impl RenderBlogPostPage { pub(crate) fn new( global_settings: GlobalSettings, title: Option<String>, self_link: Option<String>, ) -> RenderBlogPostPage { RenderBlogPostPage { global_settings, title, self_link, } } }