From ec00a40aefca73596ab76e3ebe3a8e1129b43688 Mon Sep 17 00:00:00 2001
From: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 27 Jan 2026 18:27:17 +0000
Subject: [PATCH] chore(deps): bump the production-dependencies group with 4 updates (#2289)

---
 quartz/plugins/emitters/cname.ts |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/quartz/plugins/emitters/cname.ts b/quartz/plugins/emitters/cname.ts
index c783dfb..64fdbab 100644
--- a/quartz/plugins/emitters/cname.ts
+++ b/quartz/plugins/emitters/cname.ts
@@ -1,25 +1,34 @@
 import { QuartzEmitterPlugin } from "../types"
+import { write } from "./helpers"
+import { styleText } from "util"
+import { FullSlug } from "../../util/path"
 
-interface Options {
-  domain: string
+export function extractDomainFromBaseUrl(baseUrl: string) {
+  const url = new URL(`https://${baseUrl}`)
+  return url.hostname
 }
 
-export const CNAME: QuartzEmitterPlugin<Options> = (opts?: Options) => ({
+export const CNAME: QuartzEmitterPlugin = () => ({
   name: "CNAME",
-  getQuartzComponents() {
-    return []
-  },
-  async emit(_contentFolder, _cfg, _content, _resources, emit): Promise<string[]> {
-    const slug = "CNAME"
-
-    if (opts?.domain) {
-      await emit({
-        content: opts?.domain,
-        slug,
-        ext: "",
-      })
+  async emit(ctx) {
+    if (!ctx.cfg.configuration.baseUrl) {
+      console.warn(
+        styleText("yellow", "CNAME emitter requires `baseUrl` to be set in your configuration"),
+      )
+      return []
+    }
+    const content = extractDomainFromBaseUrl(ctx.cfg.configuration.baseUrl)
+    if (!content) {
+      return []
     }
 
-    return ["CNAME"]
-  }
+    const path = await write({
+      ctx,
+      content,
+      slug: "CNAME" as FullSlug,
+      ext: "",
+    })
+    return [path]
+  },
+  async *partialEmit() {},
 })

--
Gitblit v1.10.0