From d9159e0ac9bfc22e584c78bc8aa04ecd82c14eea Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Thu, 13 Mar 2025 17:27:46 +0000
Subject: [PATCH] feat: make og images an emitter to properly await image generation (#1826)
---
quartz/plugins/emitters/contentIndex.tsx | 47 +++++++++++++++++++----------------------------
1 files changed, 19 insertions(+), 28 deletions(-)
diff --git a/quartz/plugins/emitters/contentIndex.tsx b/quartz/plugins/emitters/contentIndex.tsx
index be460e5..6f43bad 100644
--- a/quartz/plugins/emitters/contentIndex.tsx
+++ b/quartz/plugins/emitters/contentIndex.tsx
@@ -117,9 +117,8 @@
return graph
},
- async emit(ctx, content, _resources) {
+ async *emit(ctx, content, _resources) {
const cfg = ctx.cfg.configuration
- const emitted: FilePath[] = []
const linkIndex: ContentIndexMap = new Map()
for (const [tree, file] of content) {
const slug = file.data.slug!
@@ -142,25 +141,21 @@
}
if (opts?.enableSiteMap) {
- emitted.push(
- await write({
- ctx,
- content: generateSiteMap(cfg, linkIndex),
- slug: "sitemap" as FullSlug,
- ext: ".xml",
- }),
- )
+ yield write({
+ ctx,
+ content: generateSiteMap(cfg, linkIndex),
+ slug: "sitemap" as FullSlug,
+ ext: ".xml",
+ })
}
if (opts?.enableRSS) {
- emitted.push(
- await write({
- ctx,
- content: generateRSSFeed(cfg, linkIndex, opts.rssLimit),
- slug: (opts?.rssSlug ?? "index") as FullSlug,
- ext: ".xml",
- }),
- )
+ yield write({
+ ctx,
+ content: generateRSSFeed(cfg, linkIndex, opts.rssLimit),
+ slug: (opts?.rssSlug ?? "index") as FullSlug,
+ ext: ".xml",
+ })
}
const fp = joinSegments("static", "contentIndex") as FullSlug
@@ -175,16 +170,12 @@
}),
)
- emitted.push(
- await write({
- ctx,
- content: JSON.stringify(simplifiedIndex),
- slug: fp,
- ext: ".json",
- }),
- )
-
- return emitted
+ yield write({
+ ctx,
+ content: JSON.stringify(simplifiedIndex),
+ slug: fp,
+ ext: ".json",
+ })
},
externalResources: (ctx) => {
if (opts?.enableRSS) {
--
Gitblit v1.10.0