From 8cf3e3001f2cbd18da73fcc92ae5f4b76d3ecf21 Mon Sep 17 00:00:00 2001
From: Patsagorn Y. <49602385+ptsgrn@users.noreply.github.com>
Date: Thu, 16 Jan 2025 20:44:33 +0000
Subject: [PATCH] feat(i18n): Thai translations (#1722)

---
 quartz/worker.ts |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/quartz/worker.ts b/quartz/worker.ts
index d99c96c..c9cd980 100644
--- a/quartz/worker.ts
+++ b/quartz/worker.ts
@@ -1,11 +1,48 @@
-import config from "../quartz.config"
-import { createFileParser, createProcessor } from "./processors/parse"
-
-const transformers = config.plugins.transformers
-const processor = createProcessor(transformers)
+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 {
+  createFileParser,
+  createHtmlProcessor,
+  createMarkdownParser,
+  createMdProcessor,
+} from "./processors/parse"
+import { options } from "./util/sourcemap"
+import { MarkdownContent, ProcessedContent } from "./plugins/vfile"
 
 // only called from worker thread
-export async function parseFiles(baseDir: string, fps: string[], allSlugs: string[], verbose: boolean) {
-  const parse = createFileParser(transformers, baseDir, fps, allSlugs, verbose)
-  return parse(processor)
+export async function parseMarkdown(
+  buildId: string,
+  argv: Argv,
+  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[] = []
+  const ctx: BuildCtx = {
+    buildId,
+    cfg,
+    argv,
+    allSlugs,
+  }
+  return [await createFileParser(ctx, fps)(createMdProcessor(ctx)), allSlugs]
+}
+
+// only called from worker thread
+export function processHtml(
+  buildId: string,
+  argv: Argv,
+  mds: MarkdownContent[],
+  allSlugs: FullSlug[],
+): Promise<ProcessedContent[]> {
+  const ctx: BuildCtx = {
+    buildId,
+    cfg,
+    argv,
+    allSlugs,
+  }
+  return createMarkdownParser(ctx, mds)(createHtmlProcessor(ctx))
 }

--
Gitblit v1.10.0