diff --git a/src/commands/Article.ts b/src/commands/Article.ts index 6a7f014f..93fcb779 100644 --- a/src/commands/Article.ts +++ b/src/commands/Article.ts @@ -9,6 +9,7 @@ import { extname, basename } from 'path'; import { COMMAND_NAME, DefaultFields } from '../constants'; import { DashboardData } from '../models/DashboardData'; import { ExplorerView } from '../explorerView/ExplorerView'; +import { DateHelper } from '../helpers/DateHelper'; export class Article { @@ -171,7 +172,7 @@ export class Article { let newFileName = `${slugName}${ext}`; if (filePrefix && typeof filePrefix === "string") { - newFileName = `${format(new Date(), filePrefix)}-${newFileName}`; + newFileName = `${format(new Date(), DateHelper.formatUpdate(filePrefix))}-${newFileName}`; } const newPath = editor.document.uri.fsPath.replace(fileName, newFileName); @@ -243,7 +244,7 @@ export class Article { const dateFormat = Settings.get(SETTING_DATE_FORMAT) as string; if (dateFormat && typeof dateFormat === "string") { - return format(dateValue, dateFormat); + return format(dateValue, DateHelper.formatUpdate(dateFormat)); } else { return typeof dateValue.toISOString === 'function' ? dateValue.toISOString() : dateValue?.toString(); } diff --git a/src/commands/Preview.ts b/src/commands/Preview.ts index efbaeb5b..90dd53bc 100644 --- a/src/commands/Preview.ts +++ b/src/commands/Preview.ts @@ -5,6 +5,7 @@ import { commands, env, Uri, ViewColumn, window } from "vscode"; import { Settings } from '../helpers'; import { PreviewSettings } from '../models'; import { format } from 'date-fns'; +import { DateHelper } from '../helpers/DateHelper'; export class Preview { @@ -34,7 +35,7 @@ export class Preview { if (settings.pathname) { const articleDate = ArticleHelper.getDate(article); try { - slug = join(format(articleDate || new Date(), settings.pathname), slug); + slug = join(format(articleDate || new Date(), DateHelper.formatUpdate(settings.pathname)), slug); } catch (error) { slug = join(settings.pathname, slug); } diff --git a/src/helpers/ArticleHelper.ts b/src/helpers/ArticleHelper.ts index d89fd355..35efdaf6 100644 --- a/src/helpers/ArticleHelper.ts +++ b/src/helpers/ArticleHelper.ts @@ -14,6 +14,7 @@ import { EditorHelper } from '@estruyf/vscode'; import sanitize from '../helpers/Sanitize'; import { existsSync, mkdirSync } from 'fs'; import { ContentType } from '../models'; +import { DateHelper } from './DateHelper'; export class ArticleHelper { @@ -203,7 +204,7 @@ export class ArticleHelper { let newFileName = `${sanitizedName}.md`; if (prefix && typeof prefix === "string") { - newFileName = `${format(new Date(), prefix)}-${newFileName}`; + newFileName = `${format(new Date(), DateHelper.formatUpdate(prefix))}-${newFileName}`; } newFilePath = join(folderPath, newFileName); diff --git a/src/helpers/DateHelper.ts b/src/helpers/DateHelper.ts index c6e069e4..5d493ea8 100644 --- a/src/helpers/DateHelper.ts +++ b/src/helpers/DateHelper.ts @@ -3,6 +3,12 @@ import { parse, parseISO, parseJSON } from "date-fns"; export class DateHelper { + public static formatUpdate(value: string) { + value = value.replace(/YYYY/g, 'yyyy'); + value = value.replace(/DD/g, 'dd'); + return value; + } + public static tryParse(date: any, format?: string): Date | null { if (!date) { return null;