diff --git a/src/commands/Article.ts b/src/commands/Article.ts index 93fcb779..5fe71708 100644 --- a/src/commands/Article.ts +++ b/src/commands/Article.ts @@ -172,7 +172,7 @@ export class Article { let newFileName = `${slugName}${ext}`; if (filePrefix && typeof filePrefix === "string") { - newFileName = `${format(new Date(), DateHelper.formatUpdate(filePrefix))}-${newFileName}`; + newFileName = `${format(new Date(), DateHelper.formatUpdate(filePrefix) as string)}-${newFileName}`; } const newPath = editor.document.uri.fsPath.replace(fileName, newFileName); @@ -244,7 +244,7 @@ export class Article { const dateFormat = Settings.get(SETTING_DATE_FORMAT) as string; if (dateFormat && typeof dateFormat === "string") { - return format(dateValue, DateHelper.formatUpdate(dateFormat)); + return format(dateValue, DateHelper.formatUpdate(dateFormat) as string); } else { return typeof dateValue.toISOString === 'function' ? dateValue.toISOString() : dateValue?.toString(); } diff --git a/src/commands/Preview.ts b/src/commands/Preview.ts index 90dd53bc..b38a1764 100644 --- a/src/commands/Preview.ts +++ b/src/commands/Preview.ts @@ -35,7 +35,7 @@ export class Preview { if (settings.pathname) { const articleDate = ArticleHelper.getDate(article); try { - slug = join(format(articleDate || new Date(), DateHelper.formatUpdate(settings.pathname)), slug); + slug = join(format(articleDate || new Date(), DateHelper.formatUpdate(settings.pathname) as string), slug); } catch (error) { slug = join(settings.pathname, slug); } diff --git a/src/helpers/ArticleHelper.ts b/src/helpers/ArticleHelper.ts index 8aceac5d..c19ec986 100644 --- a/src/helpers/ArticleHelper.ts +++ b/src/helpers/ArticleHelper.ts @@ -204,7 +204,7 @@ export class ArticleHelper { let newFileName = `${sanitizedName}.md`; if (prefix && typeof prefix === "string") { - newFileName = `${format(new Date(), DateHelper.formatUpdate(prefix))}-${newFileName}`; + newFileName = `${format(new Date(), DateHelper.formatUpdate(prefix) as string)}-${newFileName}`; } newFilePath = join(folderPath, newFileName); diff --git a/src/helpers/DateHelper.ts b/src/helpers/DateHelper.ts index f86dc862..b9ae7221 100644 --- a/src/helpers/DateHelper.ts +++ b/src/helpers/DateHelper.ts @@ -3,7 +3,11 @@ import { parse, parseISO, parseJSON } from "date-fns"; export class DateHelper { - public static formatUpdate(value: string) { + public static formatUpdate(value: string | null | undefined): string | null { + if (!value) { + return null; + } + value = value.replace(/YYYY/g, 'yyyy'); value = value.replace(/DD/g, 'dd'); return value; diff --git a/src/panelWebView/components/Fields/DateTimeField.tsx b/src/panelWebView/components/Fields/DateTimeField.tsx index 7d63cf2a..532adfa7 100644 --- a/src/panelWebView/components/Fields/DateTimeField.tsx +++ b/src/panelWebView/components/Fields/DateTimeField.tsx @@ -52,7 +52,7 @@ export const DateTimeField: React.FunctionComponent = ({lab selected={dateValue as Date || new Date()} onChange={onDateChange} timeInputLabel="Time:" - dateFormat={format || "MM/dd/yyyy HH:mm"} + dateFormat={DateHelper.formatUpdate(format) || "MM/dd/yyyy HH:mm"} customInput={()} showTimeInput />