Jacky Zhao
2025-03-24 fe2e16d937e2b57fb2bb1d10dea47db7256a4a49
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() ?? ctx.argv.directory
            } 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(