Jacky Zhao
2023-06-12 352075ae81a3304a7bfa2512ef69b1cdacb26c12
quartz/plugins/transformers/lastmod.ts
@@ -1,4 +1,3 @@
import { PluggableList } from "unified"
import fs from "fs"
import path from 'path'
import { Repository } from "@napi-rs/simple-git"
@@ -12,19 +11,11 @@
  priority: ['frontmatter', 'git', 'filesystem']
}
export class CreatedModifiedDate extends QuartzTransformerPlugin {
  name = "CreatedModifiedDate"
  opts: Options
  constructor(opts?: Partial<Options>) {
    super()
    this.opts = {
      ...defaultOptions,
      ...opts,
    }
  }
  markdownPlugins(): PluggableList {
export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | undefined> = (userOpts) => {
  const opts = { ...defaultOptions, ...userOpts }
  return {
    name: "CreatedModifiedDate",
    markdownPlugins() {
    return [
      () => {
        let repo: Repository | undefined = undefined
@@ -34,7 +25,7 @@
          let published: undefined | Date = undefined
          const fp = path.join(file.cwd, file.data.filePath as string)
          for (const source of this.opts.priority) {
            for (const source of opts.priority) {
            if (source === "filesystem") {
              const st = await fs.promises.stat(fp)
              created ||= new Date(st.birthtimeMs)
@@ -61,12 +52,12 @@
        }
      }
    ]
  }
  htmlPlugins(): PluggableList {
    },
    htmlPlugins() {
    return []
  }
}
}
declare module 'vfile' {
  interface DataMap {