From ae2e3b463a91d94caa8bdf62e5c3a3d726b8b4e4 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 23 Jul 2023 18:49:26 +0000
Subject: [PATCH] improve error handling while serving
---
quartz/worker.ts | 33 ++++++++++-----------------------
1 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/quartz/worker.ts b/quartz/worker.ts
index 71678b8..de5868a 100644
--- a/quartz/worker.ts
+++ b/quartz/worker.ts
@@ -1,30 +1,17 @@
-import { read } from "to-vfile"
import config from "../quartz.config"
-import { createProcessor } from "./processors/parse"
-import { slugify } from "./path"
-import path from "path"
-import { ProcessedContent } from "./plugins/vfile"
+import { FilePath, ServerSlug } from "./path"
+import { createFileParser, createProcessor } from "./processors/parse"
const transformers = config.plugins.transformers
const processor = createProcessor(transformers)
// only called from worker thread
-export async function parseFiles(baseDir: string, fps: string[], verbose: boolean) {
- const res: ProcessedContent[] = []
- for (const fp of fps) {
- const file = await read(fp)
-
- // base data properties that plugins may use
- file.data.slug = slugify(path.relative(baseDir, file.path))
- file.data.filePath = fp
-
- const ast = processor.parse(file)
- res.push([await processor.run(ast, file), file])
-
- if (verbose) {
- console.log(`[process] ${fp} -> ${file.data.slug}`)
- }
- }
-
- return res
+export async function parseFiles(
+ baseDir: string,
+ fps: FilePath[],
+ allSlugs: ServerSlug[],
+ verbose: boolean,
+) {
+ const parse = createFileParser(transformers, baseDir, fps, allSlugs, verbose)
+ return parse(processor)
}
--
Gitblit v1.10.0