natter/src/blog_post/render_context.rs

51 lines
1.1 KiB
Rust
Raw Normal View History

use serde::Serialize;
2023-10-23 21:51:15 -04:00
/// The settings that a "global" to a single dustjs render.
#[derive(Debug, Serialize)]
pub(crate) struct GlobalSettings {
/// The title that goes in the html <title> 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 {
2023-10-23 21:51:15 -04:00
global_settings: GlobalSettings,
/// The title that will be shown visibly on the page.
title: Option<String>,
2023-10-23 22:38:00 -04:00
self_link: Option<String>,
}
impl RenderBlogPostPage {
2023-10-23 21:51:15 -04:00
pub(crate) fn new(
global_settings: GlobalSettings,
title: Option<String>,
2023-10-23 22:38:00 -04:00
self_link: Option<String>,
2023-10-23 21:51:15 -04:00
) -> RenderBlogPostPage {
RenderBlogPostPage {
global_settings,
title,
2023-10-23 22:38:00 -04:00
self_link,
2023-10-23 21:51:15 -04:00
}
}
}