From 059848f8b0ae36e3a8fb4bd6fd3cda8531e5dce7 Mon Sep 17 00:00:00 2001
From: Abhi <31253403+abhiy13@users.noreply.github.com>
Date: Mon, 14 Jul 2025 08:00:38 +0000
Subject: [PATCH] fix(rss): add cdata to escape html content for rss feed (#2046)

---
 quartz/components/Date.tsx |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/quartz/components/Date.tsx b/quartz/components/Date.tsx
index 1432255..0a92cc4 100644
--- a/quartz/components/Date.tsx
+++ b/quartz/components/Date.tsx
@@ -1,27 +1,31 @@
 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"]
 
 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.`)
+    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): 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>
 }

--
Gitblit v1.10.0