From c538c151c7462ad0395ff2c15c5e11e89e362aa8 Mon Sep 17 00:00:00 2001
From: Striven <sg.striven@cutecat.club>
Date: Sat, 04 Apr 2026 19:47:16 +0000
Subject: [PATCH] Initial commit

---
 quartz/build.ts |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/quartz/build.ts b/quartz/build.ts
index 9fff1b6..b98f4a8 100644
--- a/quartz/build.ts
+++ b/quartz/build.ts
@@ -143,6 +143,7 @@
   }
 
   const watcher = chokidar.watch(".", {
+    awaitWriteFinish: { stabilityThreshold: 250 },
     persistent: true,
     cwd: argv.directory,
     ignoreInitial: true,
@@ -151,16 +152,19 @@
   const changes: ChangeEvent[] = []
   watcher
     .on("add", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "add" })
       void rebuild(changes, clientRefresh, buildData)
     })
     .on("change", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "change" })
       void rebuild(changes, clientRefresh, buildData)
     })
     .on("unlink", (fp) => {
+      fp = toPosixPath(fp)
       if (buildData.ignored(fp)) return
       changes.push({ path: fp as FilePath, type: "delete" })
       void rebuild(changes, clientRefresh, buildData)
@@ -251,9 +255,12 @@
   // update allFiles and then allSlugs with the consistent view of content map
   ctx.allFiles = Array.from(contentMap.keys())
   ctx.allSlugs = ctx.allFiles.map((fp) => slugifyFilePath(fp as FilePath))
-  const processedFiles = Array.from(contentMap.values())
-    .filter((file) => file.type === "markdown")
-    .map((file) => file.content)
+  let processedFiles = filterContent(
+    ctx,
+    Array.from(contentMap.values())
+      .filter((file) => file.type === "markdown")
+      .map((file) => file.content),
+  )
 
   let emittedFiles = 0
   for (const emitter of cfg.plugins.emitters) {

--
Gitblit v1.10.0