diff --git a/quartz/plugins/emitters/cname.ts b/quartz/plugins/emitters/cname.ts index 0209d9ac..64fdbab6 100644 --- a/quartz/plugins/emitters/cname.ts +++ b/quartz/plugins/emitters/cname.ts @@ -1,7 +1,7 @@ -import { FilePath, joinSegments } from "../../util/path" import { QuartzEmitterPlugin } from "../types" -import fs from "fs" +import { write } from "./helpers" import { styleText } from "util" +import { FullSlug } from "../../util/path" export function extractDomainFromBaseUrl(baseUrl: string) { const url = new URL(`https://${baseUrl}`) @@ -10,20 +10,25 @@ export function extractDomainFromBaseUrl(baseUrl: string) { export const CNAME: QuartzEmitterPlugin = () => ({ name: "CNAME", - async emit({ argv, cfg }) { - if (!cfg.configuration.baseUrl) { + async emit(ctx) { + if (!ctx.cfg.configuration.baseUrl) { console.warn( styleText("yellow", "CNAME emitter requires `baseUrl` to be set in your configuration"), ) return [] } - const path = joinSegments(argv.output, "CNAME") - const content = extractDomainFromBaseUrl(cfg.configuration.baseUrl) + const content = extractDomainFromBaseUrl(ctx.cfg.configuration.baseUrl) if (!content) { return [] } - await fs.promises.writeFile(path, content) - return [path] as FilePath[] + + const path = await write({ + ctx, + content, + slug: "CNAME" as FullSlug, + ext: "", + }) + return [path] }, async *partialEmit() {}, })