diff --git a/src/zona/builder.py b/src/zona/builder.py index de16bf5..12b5458 100644 --- a/src/zona/builder.py +++ b/src/zona/builder.py @@ -145,7 +145,13 @@ class ZonaBuilder: and self.layout.output.is_dir() ): logger.debug("Removing stale output...") - shutil.rmtree(self.layout.output) + # only remove output dir's children + # to avoid breaking live preview + for child in self.layout.output.iterdir(): + if child.is_file() or child.is_symlink(): + child.unlink() + elif child.is_dir(): + shutil.rmtree(child) logger.debug("Discovering...") self._discover() logger.debug("Building...") diff --git a/src/zona/server.py b/src/zona/server.py index fa0c033..3f2573d 100644 --- a/src/zona/server.py +++ b/src/zona/server.py @@ -4,6 +4,7 @@ import signal import sys import tempfile import threading +import time from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer from pathlib import Path from types import FrameType