From 7a77f54e50146b05bea62934f417016bbd81b794 Mon Sep 17 00:00:00 2001
From: Amir Pourmand <pourmand1376@gmail.com>
Date: Wed, 17 Sep 2025 23:04:22 +0000
Subject: [PATCH] fix(i18n): Add RTL Detection based on Config Set Language (#2100)

---
 quartz/i18n/locales/fa-IR.ts      |    1 +
 quartz/components/renderPage.tsx  |    3 ++-
 quartz/i18n/locales/ar-SA.ts      |    1 +
 quartz/i18n/locales/definition.ts |    1 +
 4 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/quartz/components/renderPage.tsx b/quartz/components/renderPage.tsx
index e43189d..3ebfe48 100644
--- a/quartz/components/renderPage.tsx
+++ b/quartz/components/renderPage.tsx
@@ -231,8 +231,9 @@
   )
 
   const lang = componentData.fileData.frontmatter?.lang ?? cfg.locale?.split("-")[0] ?? "en"
+  const direction = i18n(cfg.locale).direction ?? "ltr"
   const doc = (
-    <html lang={lang}>
+    <html lang={lang} dir={direction}>
       <Head {...componentData} />
       <body data-slug={slug}>
         <div id="quartz-root" class="page">
diff --git a/quartz/i18n/locales/ar-SA.ts b/quartz/i18n/locales/ar-SA.ts
index a1979de..9c5c8ad 100644
--- a/quartz/i18n/locales/ar-SA.ts
+++ b/quartz/i18n/locales/ar-SA.ts
@@ -5,6 +5,7 @@
     title: "غير معنون",
     description: "لم يتم تقديم أي وصف",
   },
+  direction: "rtl" as const,
   components: {
     callout: {
       note: "ملاحظة",
diff --git a/quartz/i18n/locales/definition.ts b/quartz/i18n/locales/definition.ts
index ee1649a..f22538f 100644
--- a/quartz/i18n/locales/definition.ts
+++ b/quartz/i18n/locales/definition.ts
@@ -21,6 +21,7 @@
     title: string
     description: string
   }
+  direction?: "ltr" | "rtl"
   components: {
     callout: CalloutTranslation
     backlinks: {
diff --git a/quartz/i18n/locales/fa-IR.ts b/quartz/i18n/locales/fa-IR.ts
index 0300174..ccb996f 100644
--- a/quartz/i18n/locales/fa-IR.ts
+++ b/quartz/i18n/locales/fa-IR.ts
@@ -5,6 +5,7 @@
     title: "بدون عنوان",
     description: "توضیح خاصی اضافه نشده است",
   },
+  direction: "rtl" as const,
   components: {
     callout: {
       note: "یادداشت",

--
Gitblit v1.10.0