This commit is contained in:
Dralagen 2025-03-18 20:34:24 +01:00
commit 025db83060
3 changed files with 14 additions and 6 deletions

View File

@ -25,7 +25,7 @@ jobs:
with:
fetch-depth: 1
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v5.0.0
uses: rlespinasse/github-slug-action@v5.1.0
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx

View File

@ -57,7 +57,7 @@ const config: QuartzConfig = {
transformers: [
Plugin.FrontMatter(),
Plugin.CreatedModifiedDate({
priority: ["git", "frontmatter", "filesystem"],
priority: ["frontmatter", "git", "filesystem"],
}),
Plugin.SyntaxHighlighting({
theme: {

View File

@ -1,5 +1,4 @@
import fs from "fs"
import path from "path"
import { Repository } from "@napi-rs/simple-git"
import { QuartzTransformerPlugin } from "../types"
import chalk from "chalk"
@ -35,13 +34,23 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options>> = (u
return [
() => {
let repo: Repository | undefined = undefined
if (opts.priority.includes("git")) {
try {
repo = Repository.discover(ctx.argv.directory)
} catch (e) {
console.log(
chalk.yellow(`\nWarning: couldn't find git repository for ${ctx.argv.directory}`),
)
}
}
return async (_tree, file) => {
let created: MaybeDate = undefined
let modified: MaybeDate = undefined
let published: MaybeDate = undefined
const fp = file.data.relativePath!
const fullFp = path.posix.join(ctx.argv.directory, fp)
const fullFp = file.data.filePath!
for (const source of opts.priority) {
if (source === "filesystem") {
const st = await fs.promises.stat(fullFp)
@ -65,8 +74,7 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options>> = (u
} catch {
console.log(
chalk.yellow(
`\nWarning: ${file.data
.filePath!} isn't yet tracked by git, last modification date is not available for this file`,
`\nWarning: ${file.data.filePath!} isn't yet tracked by git, dates will be inaccurate`,
),
)
}