| | |
| | | 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, |
| | |
| | | |
| | | // 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)) |
| | | } |