fix: more lenient date parsing for templates

This commit is contained in:
Jacky Zhao 2023-09-08 09:29:57 -07:00
parent 06df00b186
commit 53f1c88738

View File

@ -11,6 +11,11 @@ const defaultOptions: Options = {
priority: ["frontmatter", "git", "filesystem"], priority: ["frontmatter", "git", "filesystem"],
} }
function coerceDate(d: any): Date {
const dt = new Date(d)
return isNaN(dt.getTime()) ? new Date() : dt
}
type MaybeDate = undefined | string | number type MaybeDate = undefined | string | number
export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | undefined> = ( export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | undefined> = (
userOpts, userOpts,
@ -49,9 +54,9 @@ export const CreatedModifiedDate: QuartzTransformerPlugin<Partial<Options> | und
} }
file.data.dates = { file.data.dates = {
created: created ? new Date(created) : new Date(), created: coerceDate(created),
modified: modified ? new Date(modified) : new Date(), modified: coerceDate(modified),
published: published ? new Date(published) : new Date(), published: coerceDate(published),
} }
} }
}, },