From a7372079817fb1a1e69b2632405d759f9c5e913d Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 16 Mar 2025 21:17:31 +0000
Subject: [PATCH] perf: incremental rebuild (--fastRebuild v2 but default) (#1841)
---
quartz/worker.ts | 27 ++++++++-------------------
1 files changed, 8 insertions(+), 19 deletions(-)
diff --git a/quartz/worker.ts b/quartz/worker.ts
index c9cd980..f4cf4c6 100644
--- a/quartz/worker.ts
+++ b/quartz/worker.ts
@@ -1,8 +1,8 @@
import sourceMapSupport from "source-map-support"
sourceMapSupport.install(options)
import cfg from "../quartz.config"
-import { Argv, BuildCtx } from "./util/ctx"
-import { FilePath, FullSlug } from "./util/path"
+import { BuildCtx, WorkerSerializableBuildCtx } from "./util/ctx"
+import { FilePath } from "./util/path"
import {
createFileParser,
createHtmlProcessor,
@@ -14,35 +14,24 @@
// only called from worker thread
export async function parseMarkdown(
- buildId: string,
- argv: Argv,
+ partialCtx: WorkerSerializableBuildCtx,
fps: FilePath[],
-): Promise<[MarkdownContent[], FullSlug[]]> {
- // this is a hack
- // we assume markdown parsers can add to `allSlugs`,
- // but don't actually use them
- const allSlugs: FullSlug[] = []
+): Promise<MarkdownContent[]> {
const ctx: BuildCtx = {
- buildId,
+ ...partialCtx,
cfg,
- argv,
- allSlugs,
}
- return [await createFileParser(ctx, fps)(createMdProcessor(ctx)), allSlugs]
+ return await createFileParser(ctx, fps)(createMdProcessor(ctx))
}
// only called from worker thread
export function processHtml(
- buildId: string,
- argv: Argv,
+ partialCtx: WorkerSerializableBuildCtx,
mds: MarkdownContent[],
- allSlugs: FullSlug[],
): Promise<ProcessedContent[]> {
const ctx: BuildCtx = {
- buildId,
+ ...partialCtx,
cfg,
- argv,
- allSlugs,
}
return createMarkdownParser(ctx, mds)(createHtmlProcessor(ctx))
}
--
Gitblit v1.10.0