mirror of
https://gitlab.com/MisterBiggs/brain-quartz.git
synced 2025-06-16 01:36:40 +00:00
fix: tz-less date parse in local tz instead of utc (closes #1615)
This commit is contained in:
parent
096ef220dc
commit
1cfc87652c
@ -101,7 +101,11 @@ export const FrontMatter: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
|
|||||||
const socialImage = coalesceAliases(data, ["socialImage", "image", "cover"])
|
const socialImage = coalesceAliases(data, ["socialImage", "image", "cover"])
|
||||||
|
|
||||||
const created = coalesceAliases(data, ["created", "date"])
|
const created = coalesceAliases(data, ["created", "date"])
|
||||||
if (created) data.created = created
|
if (created) {
|
||||||
|
data.created = created
|
||||||
|
data.modified ||= created // if modified is not set, use created
|
||||||
|
}
|
||||||
|
|
||||||
const modified = coalesceAliases(data, [
|
const modified = coalesceAliases(data, [
|
||||||
"modified",
|
"modified",
|
||||||
"lastmod",
|
"lastmod",
|
||||||
|
@ -12,7 +12,17 @@ const defaultOptions: Options = {
|
|||||||
priority: ["frontmatter", "git", "filesystem"],
|
priority: ["frontmatter", "git", "filesystem"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// YYYY-MM-DD
|
||||||
|
const iso8601DateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/
|
||||||
|
|
||||||
function coerceDate(fp: string, d: any): Date {
|
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 dt = new Date(d)
|
||||||
const invalidDate = isNaN(dt.getTime()) || dt.getTime() === 0
|
const invalidDate = isNaN(dt.getTime()) || dt.getTime() === 0
|
||||||
if (invalidDate && d !== undefined) {
|
if (invalidDate && d !== undefined) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user