From 9c8fec06d2b58e4e3bbe280ddc665a99fcc4878c Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 09 Mar 2025 22:33:15 +0000
Subject: [PATCH] feat: support non-singleton search
---
quartz/plugins/emitters/404.tsx | 26 +++++++++++++++++++-------
1 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/quartz/plugins/emitters/404.tsx b/quartz/plugins/emitters/404.tsx
index 785c873..2d518b6 100644
--- a/quartz/plugins/emitters/404.tsx
+++ b/quartz/plugins/emitters/404.tsx
@@ -7,6 +7,9 @@
import { sharedPageComponents } from "../../../quartz.layout"
import { NotFound } from "../../components"
import { defaultProcessedContent } from "../vfile"
+import { write } from "./helpers"
+import { i18n } from "../../i18n"
+import DepGraph from "../../depgraph"
export const NotFoundPage: QuartzEmitterPlugin = () => {
const opts: FullPageLayout = {
@@ -25,17 +28,25 @@
getQuartzComponents() {
return [Head, Body, pageBody, Footer]
},
- async emit(ctx, _content, resources, emit): Promise<FilePath[]> {
+ async getDependencyGraph(_ctx, _content, _resources) {
+ return new DepGraph<FilePath>()
+ },
+ async emit(ctx, _content, resources): Promise<FilePath[]> {
const cfg = ctx.cfg.configuration
const slug = "404" as FullSlug
- const externalResources = pageResources(slug, resources)
+
+ const url = new URL(`https://${cfg.baseUrl ?? "example.com"}`)
+ const path = url.pathname as FullSlug
+ const notFound = i18n(cfg.locale).pages.error.title
const [tree, vfile] = defaultProcessedContent({
slug,
- text: "Not Found",
- description: "Not Found",
- frontmatter: { title: "Not Found", tags: [] },
+ text: notFound,
+ description: notFound,
+ frontmatter: { title: notFound, tags: [] },
})
+ const externalResources = pageResources(path, vfile.data, resources)
const componentData: QuartzComponentProps = {
+ ctx,
fileData: vfile.data,
externalResources,
cfg,
@@ -45,8 +56,9 @@
}
return [
- await emit({
- content: renderPage(slug, componentData, opts, externalResources),
+ await write({
+ ctx,
+ content: renderPage(cfg, slug, componentData, opts, externalResources),
slug,
ext: ".html",
}),
--
Gitblit v1.10.0