diff --git a/src/zona/builder.py b/src/zona/builder.py index 31140c8..de16bf5 100644 --- a/src/zona/builder.py +++ b/src/zona/builder.py @@ -1,3 +1,4 @@ +import shutil from datetime import date from pathlib import Path @@ -50,9 +51,7 @@ class ZonaBuilder: if path.name.endswith(".md") and not path.is_relative_to( layout.root / "content" / "static" ): - logger.debug( - f"Parsing {path.name} as Markdown document." - ) + logger.debug(f"Parsing {path.name}.") item.metadata, item.content = parse_metadata(path) if ( item.metadata.draft @@ -140,6 +139,13 @@ class ZonaBuilder: util.copy_static_file(item.source, dst) def build(self): + # clean output if applicable + if ( + self.config.build.clean_output_dir + and self.layout.output.is_dir() + ): + logger.debug("Removing stale output...") + shutil.rmtree(self.layout.output) logger.debug("Discovering...") self._discover() logger.debug("Building...") diff --git a/src/zona/config.py b/src/zona/config.py index 63baac0..4bd7a42 100644 --- a/src/zona/config.py +++ b/src/zona/config.py @@ -54,7 +54,7 @@ class MarkdownConfig: @dataclass class BuildConfig: - # clean_output_dir: bool = True + clean_output_dir: bool = True include_drafts: bool = False