From c2b4c66e79fde7479f5f43841e1921a5c220c9a5 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Wed, 3 Jan 2024 14:48:14 +0530 Subject: [PATCH] fix(client): add computed dir and lang to html root instead of accessing raw siteData.lang/dir fixes https://github.com/vuejs/vitepress/pull/3353#issuecomment-1874753809 --- src/client/app/data.ts | 2 +- src/client/app/index.ts | 6 +++--- src/node/build/render.ts | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/client/app/data.ts b/src/client/app/data.ts index ccca8123..7e802956 100644 --- a/src/client/app/data.ts +++ b/src/client/app/data.ts @@ -44,8 +44,8 @@ export interface VitePressData { title: Ref description: Ref lang: Ref - isDark: Ref dir: Ref + isDark: Ref localeIndex: Ref } diff --git a/src/client/app/index.ts b/src/client/app/index.ts index a7db0c23..57cfe15a 100644 --- a/src/client/app/index.ts +++ b/src/client/app/index.ts @@ -38,13 +38,13 @@ const Theme = resolveThemeExtends(RawTheme) const VitePressApp = defineComponent({ name: 'VitePressApp', setup() { - const { site } = useData() + const { site, lang, dir } = useData() // change the language on the HTML element based on the current lang onMounted(() => { watchEffect(() => { - document.documentElement.lang = site.value.lang - document.documentElement.dir = site.value.dir + document.documentElement.lang = lang.value + document.documentElement.dir = dir.value }) }) diff --git a/src/node/build/render.ts b/src/node/build/render.ts index 92768185..7aacff68 100644 --- a/src/node/build/render.ts +++ b/src/node/build/render.ts @@ -152,8 +152,10 @@ export async function renderPage( } } + const dir = pageData.frontmatter.dir || siteData.dir || 'ltr' + const html = ` - + ${