| | |
| | | import { GlobalConfiguration } from "../cfg" |
| | | import { ValidLocale } from "../i18n" |
| | | import { QuartzPluginData } from "../plugins/vfile" |
| | | |
| | | interface Props { |
| | | date: Date |
| | | locale?: ValidLocale |
| | | } |
| | | |
| | | export type ValidDateType = keyof Required<QuartzPluginData>["dates"] |
| | |
| | | return data.dates?.[cfg.defaultDateType] |
| | | } |
| | | |
| | | export function formatDate(d: Date): string { |
| | | return d.toLocaleDateString("en-US", { |
| | | 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 <time datetime={date.toISOString()}>{formatDate(date, locale)}</time> |
| | | } |