From fa2ea2896f0977253733334199d28e509351e621 Mon Sep 17 00:00:00 2001
From: Silviu LorenČ› <124451350+smilorent@users.noreply.github.com>
Date: Sat, 17 Feb 2024 18:23:45 +0000
Subject: [PATCH] feat: add user-defined config for syntax highlighting plugin (#869)

---
 quartz/plugins/emitters/static.ts |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/quartz/plugins/emitters/static.ts b/quartz/plugins/emitters/static.ts
index 75bcc74..c52c628 100644
--- a/quartz/plugins/emitters/static.ts
+++ b/quartz/plugins/emitters/static.ts
@@ -1,17 +1,35 @@
-import { FilePath, QUARTZ, joinSegments } from "../../path"
+import { FilePath, QUARTZ, joinSegments } from "../../util/path"
 import { QuartzEmitterPlugin } from "../types"
 import fs from "fs"
-import { glob } from "../../glob"
+import { glob } from "../../util/glob"
+import DepGraph from "../../depgraph"
 
 export const Static: QuartzEmitterPlugin = () => ({
   name: "Static",
   getQuartzComponents() {
     return []
   },
-  async emit({ argv, cfg }, _content, _resources, _emit): Promise<FilePath[]> {
+  async getDependencyGraph({ argv, cfg }, _content, _resources) {
+    const graph = new DepGraph<FilePath>()
+
     const staticPath = joinSegments(QUARTZ, "static")
     const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
-    await fs.promises.cp(staticPath, joinSegments(argv.output, "static"), { recursive: true })
-    return fps.map((fp) => joinSegments("static", fp)) as FilePath[]
+    for (const fp of fps) {
+      graph.addEdge(
+        joinSegments("static", fp) as FilePath,
+        joinSegments(argv.output, "static", fp) as FilePath,
+      )
+    }
+
+    return graph
+  },
+  async emit({ argv, cfg }, _content, _resources): Promise<FilePath[]> {
+    const staticPath = joinSegments(QUARTZ, "static")
+    const fps = await glob("**", staticPath, cfg.configuration.ignorePatterns)
+    await fs.promises.cp(staticPath, joinSegments(argv.output, "static"), {
+      recursive: true,
+      dereference: true,
+    })
+    return fps.map((fp) => joinSegments(argv.output, "static", fp)) as FilePath[]
   },
 })

--
Gitblit v1.10.0