Copy the images into the output.

This commit is contained in:
Tom Alexander
2025-02-08 19:46:46 -05:00
parent bf7f37260c
commit 59ee13345e
3 changed files with 68 additions and 13 deletions

View File

@@ -93,15 +93,20 @@ impl SiteRenderer {
self.output_directory.as_path(),
output_path.as_path(),
None,
dependency_manager,
dependency_manager.clone(),
)?;
let render_context = RenderPage::new(render_context, page)?;
let rendered_output = renderer_integration.render(render_context)?;
let dust_context = RenderPage::new(render_context.clone(), page)?;
let rendered_output = renderer_integration.render(dust_context)?;
let parent_directory = output_path
.parent()
.ok_or("Output file should have a containing directory.")?;
tokio::fs::create_dir_all(parent_directory).await?;
tokio::fs::write(output_path, rendered_output).await?;
tokio::fs::write(&output_path, rendered_output).await?;
let dependencies = dependency_manager.lock().unwrap().take_dependencies();
for dependency in dependencies {
dependency.perform(render_context.clone()).await?;
}
}
Ok(())
@@ -125,18 +130,20 @@ impl SiteRenderer {
self.output_directory.as_path(),
output_path.as_path(),
None,
dependency_manager,
dependency_manager.clone(),
)?;
let render_context = RenderBlogPostPage::new(render_context, &convert_input)?;
let rendered_output = renderer_integration.render(render_context)?;
let dust_context = RenderBlogPostPage::new(render_context.clone(), &convert_input)?;
let rendered_output = renderer_integration.render(dust_context)?;
let parent_directory = output_path
.parent()
.ok_or("Output file should have a containing directory.")?;
tokio::fs::create_dir_all(parent_directory).await?;
tokio::fs::write(output_path, rendered_output).await?;
tokio::fs::write(&output_path, rendered_output).await?;
// TODO: Copy post files to output.
// TODO: Update link src to generate path correct for where the page is rendered.
let dependencies = dependency_manager.lock().unwrap().take_dependencies();
for dependency in dependencies {
dependency.perform(render_context.clone()).await?;
}
}
}
@@ -212,9 +219,9 @@ impl SiteRenderer {
self.output_directory.as_path(),
output_file.as_path(),
None,
dependency_manager,
dependency_manager.clone(),
)?;
let blog_stream = RenderBlogStream::new(render_context, &convert_input)?;
let blog_stream = RenderBlogStream::new(render_context.clone(), &convert_input)?;
// Pass each RenderBlogStream to dust as the context to render index.html and any additional stream pages.
let rendered_output = renderer_integration.render(blog_stream)?;
@@ -222,7 +229,12 @@ impl SiteRenderer {
.parent()
.ok_or("Output file should have a containing directory.")?;
tokio::fs::create_dir_all(parent_directory).await?;
tokio::fs::write(output_file, rendered_output).await?;
tokio::fs::write(&output_file, rendered_output).await?;
let dependencies = dependency_manager.lock().unwrap().take_dependencies();
for dependency in dependencies {
dependency.perform(render_context.clone()).await?;
}
}
Ok(())
}