diff --git a/quartz/plugins/transformers/lastmod.ts b/quartz/plugins/transformers/lastmod.ts index feca4b52f..6e12616f7 100644 --- a/quartz/plugins/transformers/lastmod.ts +++ b/quartz/plugins/transformers/lastmod.ts @@ -57,10 +57,22 @@ export const CreatedModifiedDate: QuartzTransformerPlugin | und published ||= file.data.frontmatter.publishDate } else if (source === "git") { if (!repo) { - repo = new Repository(file.cwd) + // Get a reference to the main git repo. + // It's either the same as the workdir, + // or 1+ level higher in case of a submodule/subtree setup + repo = Repository.discover(file.cwd) } - modified ||= await repo.getFileLatestModifiedDateAsync(file.data.filePath!) + try { + modified ||= await repo.getFileLatestModifiedDateAsync(file.data.filePath!) + } catch { + console.log( + chalk.yellow( + `\nWarning: ${file.data + .filePath!} isn't yet tracked by git, last modification date is not available for this file`, + ), + ) + } } }