| | |
| | | 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" |
| | | |
| | | 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, ServerSlug } from "./path" |
| | | import { createFileParser, createProcessor } from "./processors/parse" |
| | | import { options } from "./sourcemap" |
| | | |
| | | // 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}`) |
| | | } |
| | | export async function parseFiles(argv: Argv, fps: FilePath[], allSlugs: ServerSlug[]) { |
| | | const ctx: BuildCtx = { |
| | | cfg, |
| | | argv, |
| | | allSlugs, |
| | | } |
| | | |
| | | return res |
| | | const processor = createProcessor(ctx) |
| | | const parse = createFileParser(ctx, fps) |
| | | return parse(processor) |
| | | } |