From 39df40a6cec7842dda6a27614a7ca9a1732fa3f2 Mon Sep 17 00:00:00 2001 From: Joe Harrison Date: Fri, 24 Jun 2022 12:24:38 +0100 Subject: [PATCH 1/3] consistent date formatting betweeen docs and blog --- .../src/__tests__/docs.test.ts | 8 +++---- .../src/docs.ts | 23 ++++++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts index 88b74733f7ce..0b585bb3d2ee 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts @@ -457,7 +457,7 @@ describe('simple site', () => { unrelated_front_matter: "won't be part of metadata", }, lastUpdatedAt: 1539502055, - formattedLastUpdatedAt: '10/14/2018', + formattedLastUpdatedAt: 'October 14, 2018', lastUpdatedBy: 'Author', tags: [], }); @@ -518,7 +518,7 @@ describe('simple site', () => { title: 'Custom Last Update', }, lastUpdatedAt: new Date('1/1/2000').getTime() / 1000, - formattedLastUpdatedAt: '1/1/2000', + formattedLastUpdatedAt: 'January 1, 2000', lastUpdatedBy: 'Custom Author', sidebarPosition: undefined, tags: [], @@ -557,7 +557,7 @@ describe('simple site', () => { title: 'Last Update Author Only', }, lastUpdatedAt: 1539502055, - formattedLastUpdatedAt: '10/14/2018', + formattedLastUpdatedAt: 'October 14, 2018', lastUpdatedBy: 'Custom Author', sidebarPosition: undefined, tags: [], @@ -596,7 +596,7 @@ describe('simple site', () => { title: 'Last Update Date Only', }, lastUpdatedAt: new Date('1/1/2000').getTime() / 1000, - formattedLastUpdatedAt: '1/1/2000', + formattedLastUpdatedAt: 'January 1, 2000', lastUpdatedBy: 'Author', sidebarPosition: undefined, tags: [], diff --git a/packages/docusaurus-plugin-content-docs/src/docs.ts b/packages/docusaurus-plugin-content-docs/src/docs.ts index 580d90101740..8b91356eedce 100644 --- a/packages/docusaurus-plugin-content-docs/src/docs.ts +++ b/packages/docusaurus-plugin-content-docs/src/docs.ts @@ -270,6 +270,21 @@ async function doProcessDocMetadata({ const draft = isDraftForEnvironment({env, frontMatter}); + const formatDate = (locale: string, date: Date, calendar: string): string => { + try { + return new Intl.DateTimeFormat(locale, { + day: 'numeric', + month: 'long', + year: 'numeric', + timeZone: 'UTC', + calendar, + }).format(date); + } catch (err) { + logger.error`Can't format blog post date "${String(date)}"`; + throw err; + } + }; + // Assign all of object properties during instantiation (if possible) for // NodeJS optimization. // Adding properties to object after instantiation will cause hidden @@ -290,9 +305,11 @@ async function doProcessDocMetadata({ lastUpdatedBy: lastUpdate.lastUpdatedBy, lastUpdatedAt: lastUpdate.lastUpdatedAt, formattedLastUpdatedAt: lastUpdate.lastUpdatedAt - ? new Intl.DateTimeFormat(i18n.currentLocale, { - calendar: i18n.localeConfigs[i18n.currentLocale]!.calendar, - }).format(lastUpdate.lastUpdatedAt * 1000) + ? formatDate( + i18n.currentLocale, + new Date(lastUpdate.lastUpdatedAt * 1000), + i18n.localeConfigs[i18n.currentLocale]!.calendar, + ) : undefined, sidebarPosition, frontMatter, From f204b3bd4bf432b890d42bebdbd96ab2b4327152 Mon Sep 17 00:00:00 2001 From: Joe Harrison Date: Fri, 24 Jun 2022 13:28:04 +0100 Subject: [PATCH 2/3] update error message --- packages/docusaurus-plugin-content-docs/src/docs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-plugin-content-docs/src/docs.ts b/packages/docusaurus-plugin-content-docs/src/docs.ts index 8b91356eedce..30d5882c04c2 100644 --- a/packages/docusaurus-plugin-content-docs/src/docs.ts +++ b/packages/docusaurus-plugin-content-docs/src/docs.ts @@ -280,7 +280,7 @@ async function doProcessDocMetadata({ calendar, }).format(date); } catch (err) { - logger.error`Can't format blog post date "${String(date)}"`; + logger.error`Can't format docs lastUpdatedAt date "${String(date)}"`; throw err; } }; From e0d5dbfd9fac89884b54d5471022d7e535ff07f6 Mon Sep 17 00:00:00 2001 From: Joe Harrison Date: Fri, 24 Jun 2022 13:57:03 +0100 Subject: [PATCH 3/3] use short month names --- .../src/__tests__/docs.test.ts | 8 ++++---- packages/docusaurus-plugin-content-docs/src/docs.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts index 0b585bb3d2ee..4ccff773817c 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts @@ -457,7 +457,7 @@ describe('simple site', () => { unrelated_front_matter: "won't be part of metadata", }, lastUpdatedAt: 1539502055, - formattedLastUpdatedAt: 'October 14, 2018', + formattedLastUpdatedAt: 'Oct 14, 2018', lastUpdatedBy: 'Author', tags: [], }); @@ -518,7 +518,7 @@ describe('simple site', () => { title: 'Custom Last Update', }, lastUpdatedAt: new Date('1/1/2000').getTime() / 1000, - formattedLastUpdatedAt: 'January 1, 2000', + formattedLastUpdatedAt: 'Jan 1, 2000', lastUpdatedBy: 'Custom Author', sidebarPosition: undefined, tags: [], @@ -557,7 +557,7 @@ describe('simple site', () => { title: 'Last Update Author Only', }, lastUpdatedAt: 1539502055, - formattedLastUpdatedAt: 'October 14, 2018', + formattedLastUpdatedAt: 'Oct 14, 2018', lastUpdatedBy: 'Custom Author', sidebarPosition: undefined, tags: [], @@ -596,7 +596,7 @@ describe('simple site', () => { title: 'Last Update Date Only', }, lastUpdatedAt: new Date('1/1/2000').getTime() / 1000, - formattedLastUpdatedAt: 'January 1, 2000', + formattedLastUpdatedAt: 'Jan 1, 2000', lastUpdatedBy: 'Author', sidebarPosition: undefined, tags: [], diff --git a/packages/docusaurus-plugin-content-docs/src/docs.ts b/packages/docusaurus-plugin-content-docs/src/docs.ts index 30d5882c04c2..7d13e40eb8cd 100644 --- a/packages/docusaurus-plugin-content-docs/src/docs.ts +++ b/packages/docusaurus-plugin-content-docs/src/docs.ts @@ -274,7 +274,7 @@ async function doProcessDocMetadata({ try { return new Intl.DateTimeFormat(locale, { day: 'numeric', - month: 'long', + month: 'short', year: 'numeric', timeZone: 'UTC', calendar,