Bump content sentinel on delete to trigger Astro loader re-run
This commit is contained in:
@@ -200,11 +200,17 @@ def _save(slug: str, body: PageBody, base: Path) -> JSONResponse:
|
||||
path.write_text(body.content, encoding="utf-8")
|
||||
return JSONResponse({"slug": slug, "saved": True})
|
||||
|
||||
_SENTINEL = site_dir / "src" / "_content-sentinel.ts"
|
||||
|
||||
def _delete(slug: str, base: Path) -> JSONResponse:
|
||||
path = _slug_to_path(slug, base)
|
||||
if not path.exists():
|
||||
raise HTTPException(404, "Not found")
|
||||
path.unlink()
|
||||
# Bump the sentinel to force Astro to re-run all content loaders.
|
||||
# macOS fsevents never fires unlink events through symlinks, so deleted
|
||||
# entries stay in the store until a loader re-run prunes them.
|
||||
_SENTINEL.write_text(f"export const _t = {int(time.time())};\n")
|
||||
return JSONResponse({"slug": slug, "deleted": True})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user