From 1cfc87652c0b4889ab62e1010da9d988f08c4cd1 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 02 Jun 2025 05:42:37 +0000
Subject: [PATCH] fix: tz-less date parse in local tz instead of utc (closes #1615)
---
quartz/plugins/transformers/lastmod.ts | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/quartz/plugins/transformers/lastmod.ts b/quartz/plugins/transformers/lastmod.ts
index 668634a..32a89cc 100644
--- a/quartz/plugins/transformers/lastmod.ts
+++ b/quartz/plugins/transformers/lastmod.ts
@@ -12,7 +12,17 @@
priority: ["frontmatter", "git", "filesystem"],
}
+// YYYY-MM-DD
+const iso8601DateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/
+
function coerceDate(fp: string, d: any): Date {
+ // check ISO8601 date-only format
+ // we treat this one as local midnight as the normal
+ // js date ctor treats YYYY-MM-DD as UTC midnight
+ if (typeof d === "string" && iso8601DateOnlyRegex.test(d)) {
+ d = `${d}T00:00:00`
+ }
+
const dt = new Date(d)
const invalidDate = isNaN(dt.getTime()) || dt.getTime() === 0
if (invalidDate && d !== undefined) {
--
Gitblit v1.10.0