From 91059843ae9122bd547ddfdfa5a30edd99a42ff7 Mon Sep 17 00:00:00 2001
From: reagenzn <aiooksa929@gmail.com>
Date: Fri, 01 Aug 2025 15:57:32 +0000
Subject: [PATCH] fix(search): prevent Enter key handling during IME composition (#2070)
---
quartz/util/resources.tsx | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/quartz/util/resources.tsx b/quartz/util/resources.tsx
index a572d89..d95333e 100644
--- a/quartz/util/resources.tsx
+++ b/quartz/util/resources.tsx
@@ -1,5 +1,6 @@
import { randomUUID } from "crypto"
import { JSX } from "preact/jsx-runtime"
+import { QuartzPluginData } from "../plugins/vfile"
export type JSResource = {
loadTime: "beforeDOMReady" | "afterDOMReady"
@@ -16,6 +17,12 @@
}
)
+export type CSSResource = {
+ content: string
+ inline?: boolean
+ spaPreserve?: boolean
+}
+
export function JSResourceToScriptElement(resource: JSResource, preserve?: boolean): JSX.Element {
const scriptType = resource.moduleType ?? "application/javascript"
const spaPreserve = preserve ?? resource.spaPreserve
@@ -36,7 +43,32 @@
}
}
+export function CSSResourceToStyleElement(resource: CSSResource, preserve?: boolean): JSX.Element {
+ const spaPreserve = preserve ?? resource.spaPreserve
+ if (resource.inline ?? false) {
+ return <style>{resource.content}</style>
+ } else {
+ return (
+ <link
+ key={resource.content}
+ href={resource.content}
+ rel="stylesheet"
+ type="text/css"
+ spa-preserve={spaPreserve}
+ />
+ )
+ }
+}
+
export interface StaticResources {
- css: string[]
+ css: CSSResource[]
js: JSResource[]
+ additionalHead: (JSX.Element | ((pageData: QuartzPluginData) => JSX.Element))[]
+}
+
+export type StringResource = string | string[] | undefined
+export function concatenateResources(...resources: StringResource[]): StringResource {
+ return resources
+ .filter((resource): resource is string | string[] => resource !== undefined)
+ .flat()
}
--
Gitblit v1.10.0