From fe2e16d937e2b57fb2bb1d10dea47db7256a4a49 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 24 Mar 2025 01:08:07 +0000
Subject: [PATCH] fix: disallow user-select in popover
---
quartz/plugins/emitters/contentIndex.tsx | 70 ++++++++++------------------------
1 files changed, 21 insertions(+), 49 deletions(-)
diff --git a/quartz/plugins/emitters/contentIndex.tsx b/quartz/plugins/emitters/contentIndex.tsx
index 0cc70d8..01d2e00 100644
--- a/quartz/plugins/emitters/contentIndex.tsx
+++ b/quartz/plugins/emitters/contentIndex.tsx
@@ -7,11 +7,11 @@
import { toHtml } from "hast-util-to-html"
import { write } from "./helpers"
import { i18n } from "../../i18n"
-import DepGraph from "../../depgraph"
export type ContentIndexMap = Map<FullSlug, ContentDetails>
export type ContentDetails = {
slug: FullSlug
+ filePath: FilePath
title: string
links: SimpleSlug[]
tags: string[]
@@ -96,29 +96,8 @@
opts = { ...defaultOptions, ...opts }
return {
name: "ContentIndex",
- async getDependencyGraph(ctx, content, _resources) {
- const graph = new DepGraph<FilePath>()
-
- for (const [_tree, file] of content) {
- const sourcePath = file.data.filePath!
-
- graph.addEdge(
- sourcePath,
- joinSegments(ctx.argv.output, "static/contentIndex.json") as FilePath,
- )
- if (opts?.enableSiteMap) {
- graph.addEdge(sourcePath, joinSegments(ctx.argv.output, "sitemap.xml") as FilePath)
- }
- if (opts?.enableRSS) {
- graph.addEdge(sourcePath, joinSegments(ctx.argv.output, "index.xml") as FilePath)
- }
- }
-
- return graph
- },
- async emit(ctx, content, _resources) {
+ async *emit(ctx, content) {
const cfg = ctx.cfg.configuration
- const emitted: FilePath[] = []
const linkIndex: ContentIndexMap = new Map()
for (const [tree, file] of content) {
const slug = file.data.slug!
@@ -126,6 +105,7 @@
if (opts?.includeEmptyFiles || (file.data.text && file.data.text !== "")) {
linkIndex.set(slug, {
slug,
+ filePath: file.data.relativePath!,
title: file.data.frontmatter?.title!,
links: file.data.links ?? [],
tags: file.data.frontmatter?.tags ?? [],
@@ -140,25 +120,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
@@ -173,16 +149,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