From bcde2abcb20ad02a0c3f1430b9d620ee60e6cb63 Mon Sep 17 00:00:00 2001
From: dralagen <dralagen@dralagen.fr>
Date: Wed, 19 Mar 2025 04:47:35 +0000
Subject: [PATCH] fix(transformer): find last modified date form commit on submodule (#1831)

---
 quartz/plugins/transformers/lastmod.ts |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/quartz/plugins/transformers/lastmod.ts b/quartz/plugins/transformers/lastmod.ts
index 09c1294..01054bb 100644
--- a/quartz/plugins/transformers/lastmod.ts
+++ b/quartz/plugins/transformers/lastmod.ts
@@ -2,6 +2,7 @@
 import { Repository } from "@napi-rs/simple-git"
 import { QuartzTransformerPlugin } from "../types"
 import chalk from "chalk"
+import path from "path"
 
 export interface Options {
   priority: ("frontmatter" | "git" | "filesystem")[]
@@ -34,9 +35,11 @@
       return [
         () => {
           let repo: Repository | undefined = undefined
+          let repositoryWorkdir: string
           if (opts.priority.includes("git")) {
             try {
               repo = Repository.discover(ctx.argv.directory)
+              repositoryWorkdir = repo.workdir() ?? ""
             } catch (e) {
               console.log(
                 chalk.yellow(`\nWarning: couldn't find git repository for ${ctx.argv.directory}`),
@@ -62,7 +65,8 @@
                 published ||= file.data.frontmatter.published as MaybeDate
               } else if (source === "git" && repo) {
                 try {
-                  modified ||= await repo.getFileLatestModifiedDateAsync(fullFp)
+                  const relativePath = path.relative(repositoryWorkdir, fullFp)
+                  modified ||= await repo.getFileLatestModifiedDateAsync(relativePath)
                 } catch {
                   console.log(
                     chalk.yellow(

--
Gitblit v1.10.0