Introduce an array of document elements.
This commit is contained in:
parent
3cfcae25a9
commit
77f8375d7a
@ -39,7 +39,12 @@ pub(crate) fn convert_blog_post_page_to_render_context<D: AsRef<Path>, F: AsRef<
|
||||
output_file.strip_prefix(output_directory)?,
|
||||
)?;
|
||||
|
||||
let ret = RenderBlogPostPage::new(global_settings, page.title.clone(), Some(link_to_blog_post));
|
||||
let ret = RenderBlogPostPage::new(
|
||||
global_settings,
|
||||
page.title.clone(),
|
||||
Some(link_to_blog_post),
|
||||
Vec::new(),
|
||||
);
|
||||
Ok(ret)
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
use serde::Serialize;
|
||||
|
||||
use super::GlobalSettings;
|
||||
use super::RenderDocumentElement;
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[serde(tag = "type")]
|
||||
@ -12,6 +13,8 @@ pub(crate) struct RenderBlogPostPage {
|
||||
title: Option<String>,
|
||||
|
||||
self_link: Option<String>,
|
||||
|
||||
children: Vec<RenderDocumentElement>,
|
||||
}
|
||||
|
||||
impl RenderBlogPostPage {
|
||||
@ -19,11 +22,13 @@ impl RenderBlogPostPage {
|
||||
global_settings: GlobalSettings,
|
||||
title: Option<String>,
|
||||
self_link: Option<String>,
|
||||
children: Vec<RenderDocumentElement>,
|
||||
) -> RenderBlogPostPage {
|
||||
RenderBlogPostPage {
|
||||
global_settings,
|
||||
title,
|
||||
self_link,
|
||||
children,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
11
src/types/document_element.rs
Normal file
11
src/types/document_element.rs
Normal file
@ -0,0 +1,11 @@
|
||||
use serde::Serialize;
|
||||
|
||||
use super::RenderHeading;
|
||||
use super::RenderSection;
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[serde(untagged)]
|
||||
pub(crate) enum RenderDocumentElement {
|
||||
Heading(RenderHeading),
|
||||
Section(RenderSection),
|
||||
}
|
6
src/types/heading.rs
Normal file
6
src/types/heading.rs
Normal file
@ -0,0 +1,6 @@
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[serde(tag = "type")]
|
||||
#[serde(rename = "heading")]
|
||||
pub(crate) struct RenderHeading {}
|
@ -1,5 +1,11 @@
|
||||
mod blog_post_page;
|
||||
mod document_element;
|
||||
mod global_settings;
|
||||
mod heading;
|
||||
mod section;
|
||||
|
||||
pub(crate) use blog_post_page::RenderBlogPostPage;
|
||||
pub(crate) use document_element::RenderDocumentElement;
|
||||
pub(crate) use global_settings::GlobalSettings;
|
||||
pub(crate) use heading::RenderHeading;
|
||||
pub(crate) use section::RenderSection;
|
||||
|
6
src/types/section.rs
Normal file
6
src/types/section.rs
Normal file
@ -0,0 +1,6 @@
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[serde(tag = "type")]
|
||||
#[serde(rename = "section")]
|
||||
pub(crate) struct RenderSection {}
|
Loading…
x
Reference in New Issue
Block a user