From 85a737b4ee72fb4dba12e1aacbd87d1636cfc30e Mon Sep 17 00:00:00 2001
From: Xinyang Yu <47915643+xy-241@users.noreply.github.com>
Date: Sun, 24 Mar 2024 16:33:53 +0000
Subject: [PATCH] docs: Update showcase.md (#1031)
---
quartz/components/Date.tsx | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/quartz/components/Date.tsx b/quartz/components/Date.tsx
index f4b284a..26b5964 100644
--- a/quartz/components/Date.tsx
+++ b/quartz/components/Date.tsx
@@ -1,15 +1,31 @@
+import { GlobalConfiguration } from "../cfg"
+import { ValidLocale } from "../i18n"
+import { QuartzPluginData } from "../plugins/vfile"
+
interface Props {
date: Date
+ locale?: ValidLocale
}
-export function formatDate(d: Date): string {
- return d.toLocaleDateString("en-US", {
+export type ValidDateType = keyof Required<QuartzPluginData>["dates"]
+
+export function getDate(cfg: GlobalConfiguration, data: QuartzPluginData): Date | undefined {
+ if (!cfg.defaultDateType) {
+ throw new Error(
+ `Field 'defaultDateType' was not set in the configuration object of quartz.config.ts. See https://quartz.jzhao.xyz/configuration#general-configuration for more details.`,
+ )
+ }
+ return data.dates?.[cfg.defaultDateType]
+}
+
+export function formatDate(d: Date, locale: ValidLocale = "en-US"): string {
+ return d.toLocaleDateString(locale, {
year: "numeric",
month: "short",
day: "2-digit",
})
}
-export function Date({ date }: Props) {
- return <>{formatDate(date)}</>
+export function Date({ date, locale }: Props) {
+ return <>{formatDate(date, locale)}</>
}
--
Gitblit v1.10.0