From 2213424195b6ba761a6bf3343afca43b102d06b3 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Thu, 06 Mar 2025 02:34:02 +0000
Subject: [PATCH] docs: make role of getQuartzComponents more clear and also make it optional
---
quartz/plugins/types.ts | 7 ++++++-
quartz/plugins/emitters/componentResources.ts | 5 +----
quartz/plugins/emitters/contentIndex.tsx | 1 -
quartz/plugins/emitters/assets.ts | 3 ---
quartz/plugins/emitters/static.ts | 3 ---
quartz/plugins/emitters/aliases.ts | 4 ----
quartz/plugins/emitters/cname.ts | 3 ---
7 files changed, 7 insertions(+), 19 deletions(-)
diff --git a/quartz/plugins/emitters/aliases.ts b/quartz/plugins/emitters/aliases.ts
index b5bfff0..9d12a99 100644
--- a/quartz/plugins/emitters/aliases.ts
+++ b/quartz/plugins/emitters/aliases.ts
@@ -6,9 +6,6 @@
export const AliasRedirects: QuartzEmitterPlugin = () => ({
name: "AliasRedirects",
- getQuartzComponents() {
- return []
- },
async getDependencyGraph(ctx, content, _resources) {
const graph = new DepGraph<FilePath>()
@@ -22,7 +19,6 @@
return graph
},
async emit(ctx, content, _resources): Promise<FilePath[]> {
- const { argv } = ctx
const fps: FilePath[] = []
for (const [_tree, file] of content) {
diff --git a/quartz/plugins/emitters/assets.ts b/quartz/plugins/emitters/assets.ts
index 036b27d..bb85080 100644
--- a/quartz/plugins/emitters/assets.ts
+++ b/quartz/plugins/emitters/assets.ts
@@ -15,9 +15,6 @@
export const Assets: QuartzEmitterPlugin = () => {
return {
name: "Assets",
- getQuartzComponents() {
- return []
- },
async getDependencyGraph(ctx, _content, _resources) {
const { argv, cfg } = ctx
const graph = new DepGraph<FilePath>()
diff --git a/quartz/plugins/emitters/cname.ts b/quartz/plugins/emitters/cname.ts
index cbed2a8..380212d 100644
--- a/quartz/plugins/emitters/cname.ts
+++ b/quartz/plugins/emitters/cname.ts
@@ -11,9 +11,6 @@
export const CNAME: QuartzEmitterPlugin = () => ({
name: "CNAME",
- getQuartzComponents() {
- return []
- },
async getDependencyGraph(_ctx, _content, _resources) {
return new DepGraph<FilePath>()
},
diff --git a/quartz/plugins/emitters/componentResources.ts b/quartz/plugins/emitters/componentResources.ts
index b307aad..6c1e3d0 100644
--- a/quartz/plugins/emitters/componentResources.ts
+++ b/quartz/plugins/emitters/componentResources.ts
@@ -24,7 +24,7 @@
function getComponentResources(ctx: BuildCtx): ComponentResources {
const allComponents: Set<QuartzComponent> = new Set()
for (const emitter of ctx.cfg.plugins.emitters) {
- const components = emitter.getQuartzComponents(ctx)
+ const components = emitter.getQuartzComponents?.(ctx) ?? []
for (const component of components) {
allComponents.add(component)
}
@@ -200,9 +200,6 @@
export const ComponentResources: QuartzEmitterPlugin = () => {
return {
name: "ComponentResources",
- getQuartzComponents() {
- return []
- },
async getDependencyGraph(_ctx, _content, _resources) {
return new DepGraph<FilePath>()
},
diff --git a/quartz/plugins/emitters/contentIndex.tsx b/quartz/plugins/emitters/contentIndex.tsx
index bd609b4..2810039 100644
--- a/quartz/plugins/emitters/contentIndex.tsx
+++ b/quartz/plugins/emitters/contentIndex.tsx
@@ -196,6 +196,5 @@
}
}
},
- getQuartzComponents: () => [],
}
}
diff --git a/quartz/plugins/emitters/static.ts b/quartz/plugins/emitters/static.ts
index c52c628..5545d2c 100644
--- a/quartz/plugins/emitters/static.ts
+++ b/quartz/plugins/emitters/static.ts
@@ -6,9 +6,6 @@
export const Static: QuartzEmitterPlugin = () => ({
name: "Static",
- getQuartzComponents() {
- return []
- },
async getDependencyGraph({ argv, cfg }, _content, _resources) {
const graph = new DepGraph<FilePath>()
diff --git a/quartz/plugins/types.ts b/quartz/plugins/types.ts
index 283a999..e7cfb47 100644
--- a/quartz/plugins/types.ts
+++ b/quartz/plugins/types.ts
@@ -39,7 +39,12 @@
export type QuartzEmitterPluginInstance = {
name: string
emit(ctx: BuildCtx, content: ProcessedContent[], resources: StaticResources): Promise<FilePath[]>
- getQuartzComponents(ctx: BuildCtx): QuartzComponent[]
+ /**
+ * Returns the components (if any) that are used in rendering the page.
+ * This helps Quartz optimize the page by only including necessary resources
+ * for components that are actually used.
+ */
+ getQuartzComponents?: (ctx: BuildCtx) => QuartzComponent[]
getDependencyGraph?(
ctx: BuildCtx,
content: ProcessedContent[],
--
Gitblit v1.10.0