add basic parallelization to site building

This commit is contained in:
zyl 2024-10-30 14:42:43 -07:00
parent 0878679745
commit 4871293708
Signed by: zyl
SSH key fingerprint: SHA256:uxxbSXbdroP/OnKBGnEDk5q7EKB2razvstC/KmzdXXs
7 changed files with 90 additions and 22 deletions

View file

@ -117,16 +117,32 @@ impl<'a> SiteBuilder<'a> {
std::fs::create_dir(images_path).wrap_err("Failed to create images path")?;
}
self.images_builder
.load_all(&self)
.wrap_err("Failed to load images metadata")?;
self.blog_builder
.load_all(&self)
.wrap_err("Failed to load blog metadata")?;
self.reload_images_builder()?;
self.reload_blog_builder()?;
Ok(self)
}
/// Reloads the images builder's metadata.
pub fn reload_images_builder(&mut self) -> eyre::Result<()> {
let mut images_builder = std::mem::take(&mut self.images_builder);
images_builder
.load_all(self)
.wrap_err("Failed to load images metadata")?;
self.images_builder = images_builder;
Ok(())
}
/// Reloads the blog builder's metadata.
pub fn reload_blog_builder(&mut self) -> eyre::Result<()> {
let mut blog_builder = std::mem::take(&mut self.blog_builder);
blog_builder
.load_all(self)
.wrap_err("Failed to load blog metadata")?;
self.blog_builder = blog_builder;
Ok(())
}
/// Function to rewrite HTML wow.
pub fn rewrite_html(&self, html: String) -> eyre::Result<String> {
let mut output = Vec::new();