Jacky Zhao
2025-03-24 fe2e16d937e2b57fb2bb1d10dea47db7256a4a49
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"
@@ -62,4 +63,12 @@
export interface StaticResources {
  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()
}