diff --git a/quartz/plugins/emitters/favicon.ts b/quartz/plugins/emitters/favicon.ts index c58322c63..b05f9309d 100644 --- a/quartz/plugins/emitters/favicon.ts +++ b/quartz/plugins/emitters/favicon.ts @@ -1,16 +1,22 @@ import sharp from "sharp" -import { joinSegments, QUARTZ, FilePath } from "../../util/path" +import { joinSegments, QUARTZ, FullSlug } from "../../util/path" import { QuartzEmitterPlugin } from "../types" +import { write } from "./helpers" +import { BuildCtx } from "../../util/ctx" export const Favicon: QuartzEmitterPlugin = () => ({ name: "Favicon", async *emit({ argv }) { const iconPath = joinSegments(QUARTZ, "static", "icon.png") - const dest = joinSegments(argv.output, "favicon.ico") as FilePath - await sharp(iconPath).resize(48, 48).toFormat("png").toFile(dest) + const faviconContent = sharp(iconPath).resize(48, 48).toFormat("png") - yield dest + yield write({ + ctx: { argv } as BuildCtx, + slug: "favicon" as FullSlug, + ext: ".ico", + content: faviconContent, + }) }, async *partialEmit() {}, })