2023-10-22 15:31:45 -04:00
|
|
|
use serde::Serialize;
|
|
|
|
|
2023-10-23 23:49:35 -04:00
|
|
|
use super::GlobalSettings;
|
2023-10-24 00:01:40 -04:00
|
|
|
use super::RenderDocumentElement;
|
2023-10-23 21:51:15 -04:00
|
|
|
|
2023-10-22 15:31:45 -04:00
|
|
|
#[derive(Debug, Serialize)]
|
|
|
|
#[serde(tag = "type")]
|
2023-10-23 20:30:43 -04:00
|
|
|
#[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.
|
2023-10-23 20:30:43 -04:00
|
|
|
title: Option<String>,
|
2023-10-23 22:38:00 -04:00
|
|
|
|
|
|
|
self_link: Option<String>,
|
2023-10-24 00:01:40 -04:00
|
|
|
|
|
|
|
children: Vec<RenderDocumentElement>,
|
2023-10-23 16:03:37 -04:00
|
|
|
}
|
|
|
|
|
2023-10-23 20:30:43 -04:00
|
|
|
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-24 00:01:40 -04:00
|
|
|
children: Vec<RenderDocumentElement>,
|
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-24 00:01:40 -04:00
|
|
|
children,
|
2023-10-23 21:51:15 -04:00
|
|
|
}
|
2023-10-23 16:03:37 -04:00
|
|
|
}
|
2023-10-22 15:31:45 -04:00
|
|
|
}
|