Generate assets before rendering templates

This commit is contained in:
Vincent Prouillet 2019-03-11 20:25:28 +01:00
parent 135dc5d5bc
commit 3b8a95eb8f

View file

@ -536,6 +536,26 @@ impl Site {
/// Deletes the `public` directory and builds the site
pub fn build(&self) -> Result<()> {
self.clean()?;
// Generate/move all assets before rendering any content
if let Some(ref theme) = self.config.theme {
let theme_path = self.base_path.join("themes").join(theme);
if theme_path.join("sass").exists() {
self.compile_sass(&theme_path)?;
}
}
if self.config.compile_sass {
self.compile_sass(&self.base_path)?;
}
self.process_images()?;
self.copy_static_directories()?;
if self.config.build_search_index {
self.build_search_index()?;
}
// Render aliases first to allow overwriting
self.render_aliases()?;
self.render_sections()?;
@ -570,24 +590,6 @@ impl Site {
self.render_robots()?;
self.render_taxonomies()?;
if let Some(ref theme) = self.config.theme {
let theme_path = self.base_path.join("themes").join(theme);
if theme_path.join("sass").exists() {
self.compile_sass(&theme_path)?;
}
}
if self.config.compile_sass {
self.compile_sass(&self.base_path)?;
}
self.process_images()?;
self.copy_static_directories()?;
if self.config.build_search_index {
self.build_search_index()?;
}
Ok(())
}