Add a basic template for the blog stream page.
This commit is contained in:
@@ -19,8 +19,7 @@ pub(crate) struct RenderBlogStream {
|
||||
global_settings: GlobalSettings,
|
||||
page_header: Option<PageHeader>,
|
||||
children: Vec<RenderBlogStreamEntry>,
|
||||
older_link: Option<String>,
|
||||
newer_link: Option<String>,
|
||||
stream_pagination: Option<RenderBlogStreamPagination>,
|
||||
}
|
||||
|
||||
impl RenderBlogStream {
|
||||
@@ -64,12 +63,17 @@ impl RenderBlogStream {
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>()?;
|
||||
|
||||
let stream_pagination = if older_link.is_some() || newer_link.is_some() {
|
||||
Some(RenderBlogStreamPagination::new(older_link, newer_link)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
Ok(RenderBlogStream {
|
||||
global_settings,
|
||||
page_header: Some(page_header),
|
||||
children,
|
||||
older_link,
|
||||
newer_link,
|
||||
stream_pagination,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -87,7 +91,7 @@ pub(crate) struct RenderBlogStreamEntry {
|
||||
}
|
||||
|
||||
impl RenderBlogStreamEntry {
|
||||
pub(crate) fn new(
|
||||
fn new(
|
||||
config: &Config,
|
||||
output_directory: &Path,
|
||||
output_file: &Path,
|
||||
@@ -123,3 +127,21 @@ impl RenderBlogStreamEntry {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub(crate) struct RenderBlogStreamPagination {
|
||||
older_link: Option<String>,
|
||||
newer_link: Option<String>,
|
||||
}
|
||||
|
||||
impl RenderBlogStreamPagination {
|
||||
fn new(
|
||||
older_link: Option<String>,
|
||||
newer_link: Option<String>,
|
||||
) -> Result<RenderBlogStreamPagination, CustomError> {
|
||||
Ok(RenderBlogStreamPagination {
|
||||
older_link,
|
||||
newer_link,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user