From e33e9c34d7bd406a06a65457accfa6fed9ce6988 Mon Sep 17 00:00:00 2001 From: Yuxuan Zhang Date: Sat, 29 Mar 2025 23:22:12 -0400 Subject: [PATCH] refactor docs: move language-specific files into their own folders. --- .../{config/shared.ts => config.ts} | 29 +++++++++---------- docs/.vitepress/config/index.ts | 21 -------------- .../{.vitepress/config/en.ts => en/config.ts} | 14 ++++----- .../{.vitepress/config/es.ts => es/config.ts} | 19 +++++------- .../{.vitepress/config/fa.ts => fa/config.ts} | 18 +++++------- .../{.vitepress/config/ko.ts => ko/config.ts} | 19 +++++------- .../{.vitepress/config/pt.ts => pt/config.ts} | 19 +++++------- .../{.vitepress/config/ru.ts => ru/config.ts} | 19 +++++------- docs/zh/config.ts | 3 +- 9 files changed, 60 insertions(+), 101 deletions(-) rename docs/.vitepress/{config/shared.ts => config.ts} (87%) delete mode 100644 docs/.vitepress/config/index.ts rename docs/{.vitepress/config/en.ts => en/config.ts} (93%) rename docs/{.vitepress/config/es.ts => es/config.ts} (94%) rename docs/{.vitepress/config/fa.ts => fa/config.ts} (95%) rename docs/{.vitepress/config/ko.ts => ko/config.ts} (94%) rename docs/{.vitepress/config/pt.ts => pt/config.ts} (94%) rename docs/{.vitepress/config/ru.ts => ru/config.ts} (95%) diff --git a/docs/.vitepress/config/shared.ts b/docs/.vitepress/config.ts similarity index 87% rename from docs/.vitepress/config/shared.ts rename to docs/.vitepress/config.ts index 86eb104a..1f23e1fd 100644 --- a/docs/.vitepress/config/shared.ts +++ b/docs/.vitepress/config.ts @@ -4,13 +4,8 @@ import { groupIconVitePlugin, localIconLoader } from 'vitepress-plugin-group-icons' -import { search as esSearch } from './es' -import { search as faSearch } from './fa' -import { search as koSearch } from './ko' -import { search as ptSearch } from './pt' -import { search as ruSearch } from './ru' -export const shared = defineConfig({ +export default defineConfig({ title: 'VitePress', rewrites: { @@ -96,26 +91,30 @@ export const shared = defineConfig({ options: { appId: '8J64VVRP8K', apiKey: '52f578a92b88ad6abde815aae2b0ad7c', - indexName: 'vitepress', - locales: { - ...ptSearch, - ...ruSearch, - ...esSearch, - ...koSearch, - ...faSearch - } + indexName: 'vitepress' } }, carbonAds: { code: 'CEBDT27Y', placement: 'vuejsorg' } }, + + locales: { + root: { label: 'English' }, + zh: { label: '简体中文' }, + pt: { label: 'Português' }, + ru: { label: 'Русский' }, + es: { label: 'Español' }, + ko: { label: '한국어' }, + fa: { label: 'فارسی' } + }, + vite: { plugins: [ groupIconVitePlugin({ customIcon: { vitepress: localIconLoader( import.meta.url, - '../../public/vitepress-logo-mini.svg' + '../public/vitepress-logo-mini.svg' ), firebase: 'logos:firebase' } diff --git a/docs/.vitepress/config/index.ts b/docs/.vitepress/config/index.ts deleted file mode 100644 index 1654ec57..00000000 --- a/docs/.vitepress/config/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defineConfig } from 'vitepress' -import { shared } from './shared' -import { en } from './en' -import { pt } from './pt' -import { ru } from './ru' -import { es } from './es' -import { ko } from './ko' -import { fa } from './fa' - -export default defineConfig({ - ...shared, - locales: { - root: { label: 'English', ...en }, - zh: { label: '简体中文' }, - pt: { label: 'Português', ...pt }, - ru: { label: 'Русский', ...ru }, - es: { label: 'Español', ...es }, - ko: { label: '한국어', ...ko }, - fa: { label: 'فارسی', ...fa } - } -}) diff --git a/docs/.vitepress/config/en.ts b/docs/en/config.ts similarity index 93% rename from docs/.vitepress/config/en.ts rename to docs/en/config.ts index 1f619347..41dbd2b8 100644 --- a/docs/.vitepress/config/en.ts +++ b/docs/en/config.ts @@ -1,16 +1,12 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const en = defineConfig({ +export default { lang: 'en-US', description: 'Vite & Vue powered static site generator.', themeConfig: { nav: nav(), - sidebar: { '/guide/': { base: '/guide/', items: sidebarGuide() }, '/reference/': { base: '/reference/', items: sidebarReference() } @@ -26,7 +22,7 @@ export const en = defineConfig({ copyright: 'Copyright © 2019-present Evan You' } } -}) +} as UserConfig function nav(): DefaultTheme.NavItem[] { return [ @@ -41,7 +37,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: 'Changelog', diff --git a/docs/.vitepress/config/es.ts b/docs/es/config.ts similarity index 94% rename from docs/.vitepress/config/es.ts rename to docs/es/config.ts index d30fc89f..e3a0079a 100644 --- a/docs/.vitepress/config/es.ts +++ b/docs/es/config.ts @@ -1,16 +1,13 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const es = defineConfig({ +export default { lang: 'es-CO', description: 'Generador de Sitios Estaticos desarrollado con Vite y Vue.', themeConfig: { nav: nav(), - + search: { options: searchOptions() } as DefaultTheme.Config['search'], sidebar: { '/es/guide/': { base: '/es/guide/', items: sidebarGuide() }, '/es/reference/': { base: '/es/reference/', items: sidebarReference() } @@ -51,7 +48,7 @@ export const es = defineConfig({ darkModeSwitchTitle: 'Cambiar a modo oscuro', skipToContentLabel: 'Saltar al contenido' } -}) +} as UserConfig function nav(): DefaultTheme.NavItem[] { return [ @@ -66,7 +63,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/es/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: 'Registro de cambios', @@ -170,8 +167,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = { - es: { +function searchOptions(): Partial { + return { placeholder: 'Buscar documentos', translations: { button: { diff --git a/docs/.vitepress/config/fa.ts b/docs/fa/config.ts similarity index 95% rename from docs/.vitepress/config/fa.ts rename to docs/fa/config.ts index 5c91d0bc..a0508a24 100644 --- a/docs/.vitepress/config/fa.ts +++ b/docs/fa/config.ts @@ -1,10 +1,7 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const fa = defineConfig({ +export default { title: 'ویت‌پرس', lang: 'fa-IR', description: 'Vite & Vue powered static site generator.', @@ -20,6 +17,7 @@ export const fa = defineConfig({ }, themeConfig: { nav: nav(), + search: { options: searchOptions() } as DefaultTheme.Config['search'], sidebar: { '/fa/guide/': { base: '/fa/guide/', items: sidebarGuide() }, '/fa/reference/': { base: '/fa/reference/', items: sidebarReference() } @@ -68,7 +66,7 @@ export const fa = defineConfig({ }, siteTitle: 'ویت‌پرس' } -}) +} as UserConfig function nav(): DefaultTheme.NavItem[] { return [ @@ -83,7 +81,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: 'Changelog', @@ -181,8 +179,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = { - fa: { +function searchOptions(): Partial { + return { placeholder: 'جستجوی مستندات', translations: { button: { diff --git a/docs/.vitepress/config/ko.ts b/docs/ko/config.ts similarity index 94% rename from docs/.vitepress/config/ko.ts rename to docs/ko/config.ts index faebabf4..ccbc7b03 100644 --- a/docs/.vitepress/config/ko.ts +++ b/docs/ko/config.ts @@ -1,16 +1,13 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const ko = defineConfig({ +export default { lang: 'ko-KR', description: 'Vite 및 Vue 기반 정적 사이트 생성기.', themeConfig: { nav: nav(), - + search: { options: searchOptions() } as DefaultTheme.Config['search'], sidebar: { '/ko/guide/': { base: '/ko/guide/', items: sidebarGuide() }, '/ko/reference/': { base: '/ko/reference/', items: sidebarReference() } @@ -47,7 +44,7 @@ export const ko = defineConfig({ darkModeSwitchTitle: '다크 모드로 변경', skipToContentLabel: '본문으로 건너뛰기' } -}) +} as UserConfig function nav(): DefaultTheme.NavItem[] { return [ @@ -62,7 +59,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/ko/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: '변경 로그', @@ -208,8 +205,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = { - ko: { +function searchOptions(): Partial { + return { placeholder: '문서 검색', translations: { button: { diff --git a/docs/.vitepress/config/pt.ts b/docs/pt/config.ts similarity index 94% rename from docs/.vitepress/config/pt.ts rename to docs/pt/config.ts index 12cb52fa..891202bf 100644 --- a/docs/.vitepress/config/pt.ts +++ b/docs/pt/config.ts @@ -1,16 +1,13 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const pt = defineConfig({ +export default { lang: 'pt-BR', description: 'Gerador de Site Estático desenvolvido com Vite e Vue.', themeConfig: { nav: nav(), - + search: { options: searchOptions() } as DefaultTheme.Config['search'], sidebar: { '/pt/guide/': { base: '/pt/guide/', items: sidebarGuide() }, '/pt/reference/': { base: '/pt/reference/', items: sidebarReference() } @@ -51,7 +48,7 @@ export const pt = defineConfig({ darkModeSwitchTitle: 'Mudar para Modo Escuro', skipToContentLabel: 'Pular para o Conteúdo' } -}) +} as UserConfig function nav(): DefaultTheme.NavItem[] { return [ @@ -66,7 +63,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/pt/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: 'Registro de Mudanças', @@ -167,8 +164,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = { - pt: { +function searchOptions(): Partial { + return { placeholder: 'Pesquisar documentos', translations: { button: { diff --git a/docs/.vitepress/config/ru.ts b/docs/ru/config.ts similarity index 95% rename from docs/.vitepress/config/ru.ts rename to docs/ru/config.ts index b75b1b77..93ac435d 100644 --- a/docs/.vitepress/config/ru.ts +++ b/docs/ru/config.ts @@ -1,16 +1,13 @@ -import { createRequire } from 'module' -import { defineConfig, type DefaultTheme } from 'vitepress' +import { type DefaultTheme, type UserConfig } from 'vitepress' +import vitepress from 'vitepress/package.json' -const require = createRequire(import.meta.url) -const pkg = require('vitepress/package.json') - -export const ru = defineConfig({ +export default { lang: 'ru-RU', description: 'Генератор статических сайтов на основе Vite и Vue.', themeConfig: { nav: nav(), - + search: { options: searchOptions() } as DefaultTheme.Config['search'], sidebar: { '/ru/guide/': { base: '/ru/guide/', items: sidebarGuide() }, '/ru/reference/': { base: '/ru/reference/', items: sidebarReference() } @@ -45,7 +42,7 @@ export const ru = defineConfig({ langMenuLabel: 'Изменить язык', skipToContentLabel: 'Перейти к содержимому' } -}) +} function nav(): DefaultTheme.NavItem[] { return [ @@ -60,7 +57,7 @@ function nav(): DefaultTheme.NavItem[] { activeMatch: '/ru/reference/' }, { - text: pkg.version, + text: vitepress.version, items: [ { text: 'Изменения', @@ -163,8 +160,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = { - ru: { +function searchOptions(): Partial { + return { placeholder: 'Поиск в документации', translations: { button: { diff --git a/docs/zh/config.ts b/docs/zh/config.ts index 4120d126..6caf1430 100644 --- a/docs/zh/config.ts +++ b/docs/zh/config.ts @@ -1,6 +1,5 @@ import { type DefaultTheme, type UserConfig } from 'vitepress' import vitepress from 'vitepress/package.json' -import type { DocSearchProps } from '../../types/docsearch' export default { lang: 'zh-Hans', @@ -165,7 +164,7 @@ function sidebarReference(): DefaultTheme.SidebarItem[] { ] } -function searchOptions(): Partial { +function searchOptions(): Partial { return { placeholder: '搜索文档', translations: {