Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
c3c0d71
first working version
zhangyx1998 Mar 30, 2025
e33e9c3
refactor docs: move language-specific files into their own folders.
zhangyx1998 Mar 30, 2025
d33f6ff
fix: modify chunk rules to avoid circular import
zhangyx1998 Mar 30, 2025
fb5dbb2
update: clean up debug logging code
zhangyx1998 Mar 30, 2025
a69c186
Merge branch 'main' into feat/hierarchical-theme-config
zhangyx1998 Mar 30, 2025
fde8f22
fix bundle.ts: reliable detection for `vitepress/package.json`
zhangyx1998 Mar 30, 2025
324d79c
Merge remote-tracking branch 'origin/feat/hierarchical-theme-config' …
zhangyx1998 Mar 30, 2025
8d4ae1c
revert translation.ts: remove unneeded code
zhangyx1998 Mar 30, 2025
550e5f9
revert bundle.ts
zhangyx1998 Mar 30, 2025
f33687c
major refactor: move main logic into resolveUserConfig()
zhangyx1998 Mar 30, 2025
12b2a58
update: use node API in distributed config files
zhangyx1998 Mar 30, 2025
a8428fe
fix: remove debug code
zhangyx1998 Mar 30, 2025
0fcb916
update: remove unused code
zhangyx1998 Mar 30, 2025
7211246
fix: move `/en/config.ts` to `/config.ts`, allow root-level configura…
zhangyx1998 Mar 30, 2025
f5bdd2b
update: add config type helper, clean up code
zhangyx1998 Mar 31, 2025
6400027
update docs/*/config.ts: use defineAdditionalConfig() instead of defi…
zhangyx1998 Mar 31, 2025
38513dc
Merge branch 'main' into feat/hierarchical-theme-config
zhangyx1998 Apr 1, 2025
c8bef32
fix: respect user configured `srcDir`
zhangyx1998 Apr 3, 2025
787b825
refactor: apply additional config for both SSR and client
zhangyx1998 Apr 5, 2025
f4c18e8
fix: preserve original mergeHead() behavior
zhangyx1998 Apr 5, 2025
fb8d4e5
update: revert last change, rename `mergeHead` arguments for clarity.
zhangyx1998 Apr 5, 2025
13bbf1b
Revert "update: revert last change, rename `mergeHead` arguments for …
zhangyx1998 Apr 5, 2025
bd80a64
update: clarify comments for `mergeHead`
zhangyx1998 Apr 5, 2025
b5dfa18
Merge branch 'main' into feat/hierarchical-theme-config
zhangyx1998 Apr 6, 2025
72627ef
fix: mitigate netlify javascript heap out of memory issue
zhangyx1998 Apr 6, 2025
e142477
Merge branch 'main' into feat/hierarchical-theme-config
zhangyx1998 Apr 6, 2025
98dc562
Merge remote-tracking branch 'upstream/main' into feat/hierarchical-t…
zhangyx1998 Apr 11, 2025
a7e8c2c
remove build concurrency workaround
brc-dd Apr 13, 2025
01f600f
update configs
brc-dd Apr 13, 2025
886be32
no need to export deep partial and exclude non-pure-object stuff
brc-dd Apr 13, 2025
83eb77d
LocaleConfig can also now accept partial values
brc-dd Apr 13, 2025
13b2153
unrelated, add llms.txt plugin on build only
brc-dd Apr 13, 2025
2dd4d2b
update comment
brc-dd Apr 13, 2025
e835777
adjust imports
brc-dd Apr 13, 2025
b9d8419
update type helpers
brc-dd Apr 13, 2025
27de822
update comment, json is no longer supported
brc-dd Apr 13, 2025
e73dce3
minor tweaks
brc-dd Apr 13, 2025
21eda05
format
brc-dd Apr 13, 2025
aa29aad
use builtin functions
brc-dd Apr 13, 2025
5fdd374
fix: properly override `localeIndex` property on resolved siteData
zhangyx1998 Apr 13, 2025
0e48535
fix the locale for path thing
brc-dd Apr 14, 2025
369ba70
share isObject code
brc-dd Apr 14, 2025
53369ab
update lunaria config
brc-dd Apr 14, 2025
d5b1563
optimize head merging and preserve order
brc-dd Apr 15, 2025
87048f5
adjust implementation
brc-dd Apr 15, 2025
0e50456
Merge branch 'main' into feat/hierarchical-theme-config
brc-dd Apr 15, 2025
4995fb9
update opengraph stuff in docs, export resolveSiteDataByRoute
brc-dd Apr 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 14 additions & 17 deletions docs/.vitepress/config/shared.ts → docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +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'
import { search as zhSearch } from './zh'

export const shared = defineConfig({
export default defineConfig({
title: 'VitePress',

rewrites: {
Expand Down Expand Up @@ -97,27 +91,30 @@ export const shared = defineConfig({
options: {
appId: '8J64VVRP8K',
apiKey: '52f578a92b88ad6abde815aae2b0ad7c',
indexName: 'vitepress',
locales: {
...zhSearch,
...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'
}
Expand Down
22 changes: 0 additions & 22 deletions docs/.vitepress/config/index.ts

This file was deleted.

14 changes: 5 additions & 9 deletions docs/.vitepress/config/en.ts → docs/en/config.ts
Original file line number Diff line number Diff line change
@@ -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() }
Expand All @@ -26,7 +22,7 @@ export const en = defineConfig({
copyright: 'Copyright © 2019-present Evan You'
}
}
})
} as UserConfig<DefaultTheme.Config>

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -41,7 +37,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: 'Changelog',
Expand Down
19 changes: 8 additions & 11 deletions docs/.vitepress/config/es.ts → docs/es/config.ts
Original file line number Diff line number Diff line change
@@ -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() }
Expand Down Expand Up @@ -51,7 +48,7 @@ export const es = defineConfig({
darkModeSwitchTitle: 'Cambiar a modo oscuro',
skipToContentLabel: 'Saltar al contenido'
}
})
} as UserConfig<DefaultTheme.Config>

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -66,7 +63,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/es/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: 'Registro de cambios',
Expand Down Expand Up @@ -170,8 +167,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] {
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
es: {
function searchOptions(): Partial<DefaultTheme.AlgoliaSearchOptions> {
return {
placeholder: 'Buscar documentos',
translations: {
button: {
Expand Down
18 changes: 8 additions & 10 deletions docs/.vitepress/config/fa.ts → docs/fa/config.ts
Original file line number Diff line number Diff line change
@@ -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.',
Expand All @@ -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() }
Expand Down Expand Up @@ -68,7 +66,7 @@ export const fa = defineConfig({
},
siteTitle: 'ویت‌پرس'
}
})
} as UserConfig<DefaultTheme.Config>

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -83,7 +81,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: 'Changelog',
Expand Down Expand Up @@ -181,8 +179,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] {
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
fa: {
function searchOptions(): Partial<DefaultTheme.AlgoliaSearchOptions> {
return {
placeholder: 'جستجوی مستندات',
translations: {
button: {
Expand Down
19 changes: 8 additions & 11 deletions docs/.vitepress/config/ko.ts → docs/ko/config.ts
Original file line number Diff line number Diff line change
@@ -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() }
Expand Down Expand Up @@ -47,7 +44,7 @@ export const ko = defineConfig({
darkModeSwitchTitle: '다크 모드로 변경',
skipToContentLabel: '본문으로 건너뛰기'
}
})
} as UserConfig<DefaultTheme.Config>

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -62,7 +59,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/ko/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: '변경 로그',
Expand Down Expand Up @@ -208,8 +205,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] {
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
ko: {
function searchOptions(): Partial<DefaultTheme.AlgoliaSearchOptions> {
return {
placeholder: '문서 검색',
translations: {
button: {
Expand Down
19 changes: 8 additions & 11 deletions docs/.vitepress/config/pt.ts → docs/pt/config.ts
Original file line number Diff line number Diff line change
@@ -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() }
Expand Down Expand Up @@ -51,7 +48,7 @@ export const pt = defineConfig({
darkModeSwitchTitle: 'Mudar para Modo Escuro',
skipToContentLabel: 'Pular para o Conteúdo'
}
})
} as UserConfig<DefaultTheme.Config>

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -66,7 +63,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/pt/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: 'Registro de Mudanças',
Expand Down Expand Up @@ -167,8 +164,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] {
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
pt: {
function searchOptions(): Partial<DefaultTheme.AlgoliaSearchOptions> {
return {
placeholder: 'Pesquisar documentos',
translations: {
button: {
Expand Down
19 changes: 8 additions & 11 deletions docs/.vitepress/config/ru.ts → docs/ru/config.ts
Original file line number Diff line number Diff line change
@@ -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() }
Expand Down Expand Up @@ -45,7 +42,7 @@ export const ru = defineConfig({
langMenuLabel: 'Изменить язык',
skipToContentLabel: 'Перейти к содержимому'
}
})
}

function nav(): DefaultTheme.NavItem[] {
return [
Expand All @@ -60,7 +57,7 @@ function nav(): DefaultTheme.NavItem[] {
activeMatch: '/ru/reference/'
},
{
text: pkg.version,
text: vitepress.version,
items: [
{
text: 'Изменения',
Expand Down Expand Up @@ -163,8 +160,8 @@ function sidebarReference(): DefaultTheme.SidebarItem[] {
]
}

export const search: DefaultTheme.AlgoliaSearchOptions['locales'] = {
ru: {
function searchOptions(): Partial<DefaultTheme.AlgoliaSearchOptions> {
return {
placeholder: 'Поиск в документации',
translations: {
button: {
Expand Down
Loading