| | |
| | | import { QuartzLogger } from "../util/log" |
| | | import { trace } from "../util/trace" |
| | | import { BuildCtx, WorkerSerializableBuildCtx } from "../util/ctx" |
| | | import chalk from "chalk" |
| | | import { styleText } from "util" |
| | | |
| | | export type QuartzMdProcessor = Processor<MDRoot, MDRoot, MDRoot> |
| | | export type QuartzHtmlProcessor = Processor<undefined, MDRoot, HTMLRoot> |
| | |
| | | workerType: "thread", |
| | | }) |
| | | const errorHandler = (err: any) => { |
| | | console.error(`${err}`.replace(/^error:\s*/i, "")) |
| | | console.error(err) |
| | | process.exit(1) |
| | | } |
| | | |
| | |
| | | textToMarkdownPromises.map(async (promise) => { |
| | | const result = await promise |
| | | processedFiles += result.length |
| | | log.updateText(`text->markdown ${chalk.gray(`${processedFiles}/${fps.length}`)}`) |
| | | log.updateText(`text->markdown ${styleText("gray", `${processedFiles}/${fps.length}`)}`) |
| | | return result |
| | | }), |
| | | ).catch(errorHandler) |
| | | |
| | | const markdownToHtmlPromises: WorkerPromise<ProcessedContent[]>[] = [] |
| | | processedFiles = 0 |
| | | for (const [mdChunk, _] of mdResults) { |
| | | for (const mdChunk of mdResults) { |
| | | markdownToHtmlPromises.push(pool.exec("processHtml", [serializableCtx, mdChunk])) |
| | | } |
| | | const results: ProcessedContent[][] = await Promise.all( |
| | | markdownToHtmlPromises.map(async (promise) => { |
| | | const result = await promise |
| | | processedFiles += result.length |
| | | log.updateText(`markdown->html ${chalk.gray(`${processedFiles}/${fps.length}`)}`) |
| | | log.updateText(`markdown->html ${styleText("gray", `${processedFiles}/${fps.length}`)}`) |
| | | return result |
| | | }), |
| | | ).catch(errorHandler) |