diff --git a/docs/.vitepress/components/Home.vue b/docs/.vitepress/components/Home.vue
index 8cb300422..4c16710d8 100644
--- a/docs/.vitepress/components/Home.vue
+++ b/docs/.vitepress/components/Home.vue
@@ -37,15 +37,17 @@ const { t } = useI18n()
-
+
diff --git a/docs/.vitepress/components/Navbar.vue b/docs/.vitepress/components/Navbar.vue
index 62135f8ac..d3dec51d1 100644
--- a/docs/.vitepress/components/Navbar.vue
+++ b/docs/.vitepress/components/Navbar.vue
@@ -1,5 +1,6 @@
@@ -32,7 +41,7 @@ watch(path, () => {
:href="nav.link"
class="text-muted-foreground hover:text-foreground mx-3 h-full inline-flex items-center py-2 text-nowrap text-sm font-semibold"
transition-colors duration-200 ease-in-out
- :class="{ '!text-primary': path.includes(nav.text.toLowerCase()) }"
+ :class="{ '!text-primary': isNavLinkActive(nav.link, path) }"
>
{{ nav.text }}
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index 05487ad2c..6ac3d90b9 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -74,7 +74,7 @@ export default defineConfig({
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
- { text: 'Docs', link: withBase('/en/overview/') },
+ { text: 'Docs', link: withBase('/en/docs/overview/') },
{ text: 'Blog', link: withBase('/en/blog/') },
{
text: `v${version}`,
@@ -93,22 +93,22 @@ export default defineConfig({
text: 'Overview',
icon: 'lucide:rocket',
items: [
- { text: 'Introduction', link: withBase('/en/overview/') },
- { text: 'About AI VTuber', link: withBase('/en/overview/about-ai-vtuber') },
- { text: 'About Neuro-sama', link: withBase('/en/overview/about-neuro-sama') },
+ { text: 'Introduction', link: withBase('/en/docs/overview/') },
+ { text: 'About AI VTuber', link: withBase('/en/docs/overview/about-ai-vtuber') },
+ { text: 'About Neuro-sama', link: withBase('/en/docs/overview/about-neuro-sama') },
],
},
{
text: 'Guides',
icon: 'lucide:book-open',
items: [
- { text: 'Contributing', link: withBase('/en/guides/contributing/') },
+ { text: 'Contributing', link: withBase('/en/docs/guides/contributing/') },
{
text: 'Design Guidelines',
- link: withBase('/en/guides/design-guidelines/'),
+ link: withBase('/en/docs/guides/design-guidelines/'),
items: [
- { text: 'Resources', link: withBase('/en/guides/contributing/design-guidelines/resources') },
- { text: 'Tools', link: withBase('/en/guides/contributing/design-guidelines/tools') },
+ { text: 'Resources', link: withBase('/en/docs/guides/contributing/design-guidelines/resources') },
+ { text: 'Tools', link: withBase('/en/docs/guides/contributing/design-guidelines/tools') },
],
},
],
@@ -116,10 +116,10 @@ export default defineConfig({
{
text: 'Chronicles',
icon: 'lucide:calendar-days',
- link: withBase('/en/chronicles/'),
+ link: withBase('/en/docs/chronicles/'),
items: [
- { text: 'Before Story v0.0.1', link: withBase('/en/chronicles/version-v0.0.1/') },
- { text: 'Initial Publish v0.1.0', link: withBase('/en/chronicles/version-v0.1.0/') },
+ { text: 'Before Story v0.0.1', link: withBase('/en/docs/chronicles/version-v0.0.1/') },
+ { text: 'Initial Publish v0.1.0', link: withBase('/en/docs/chronicles/version-v0.1.0/') },
],
},
{
@@ -136,7 +136,7 @@ export default defineConfig({
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
- { text: '文档', link: withBase('/zh-Hans/overview/') },
+ { text: '文档', link: withBase('/zh-Hans/docs/overview/') },
{ text: '博客 / 开发日志', link: withBase('/zh-Hans/blog/') },
{
text: `v${version}`,
@@ -155,22 +155,22 @@ export default defineConfig({
text: '概览',
icon: 'lucide:rocket',
items: [
- { text: '介绍', link: withBase('/zh-Hans/overview/') },
- { text: '有关 AI VTuber', link: withBase('/zh-Hans/overview/about-ai-vtuber') },
- { text: '有关 Neuro-sama', link: withBase('/zh-Hans/overview/about-neuro-sama') },
+ { text: '介绍', link: withBase('/zh-Hans/docs/overview/') },
+ { text: '有关 AI VTuber', link: withBase('/zh-Hans/docs/overview/about-ai-vtuber') },
+ { text: '有关 Neuro-sama', link: withBase('/zh-Hans/docs/overview/about-neuro-sama') },
],
},
{
text: '指南',
icon: 'lucide:book-open',
items: [
- { text: '贡献指南', link: withBase('/zh-Hans/guides/contributing/') },
+ { text: '贡献指南', link: withBase('/zh-Hans/docs/guides/contributing/') },
{
text: '设计指引',
- link: withBase('/zh-Hans/guides/design-guidelines/'),
+ link: withBase('/zh-Hans/docs/guides/design-guidelines/'),
items: [
- { text: '参考资源', link: withBase('/zh-Hans/guides/contributing/design-guidelines/resources') },
- { text: '工具', link: withBase('/zh-Hans/guides/contributing/design-guidelines/tools') },
+ { text: '参考资源', link: withBase('/zh-Hans/docs/guides/contributing/design-guidelines/resources') },
+ { text: '工具', link: withBase('/zh-Hans/docs/guides/contributing/design-guidelines/tools') },
],
},
],
@@ -178,10 +178,10 @@ export default defineConfig({
{
text: '编年史',
icon: 'lucide:calendar-days',
- link: withBase('/zh-Hans/chronicles/'),
+ link: withBase('/zh-Hans/docs/chronicles/'),
items: [
- { text: '先前的故事 v0.0.1', link: withBase('/zh-Hans/chronicles/version-v0.0.1/') },
- { text: '首次公开 v0.1.0', link: withBase('/zh-Hans/chronicles/version-v0.1.0/') },
+ { text: '先前的故事 v0.0.1', link: withBase('/zh-Hans/docs/chronicles/version-v0.0.1/') },
+ { text: '首次公开 v0.1.0', link: withBase('/zh-Hans/docs/chronicles/version-v0.1.0/') },
],
},
{
diff --git a/docs/content/en/chronicles/index.md b/docs/content/en/docs/chronicles/index.md
similarity index 100%
rename from docs/content/en/chronicles/index.md
rename to docs/content/en/docs/chronicles/index.md
diff --git a/docs/content/en/chronicles/version-v0.0.1/index.md b/docs/content/en/docs/chronicles/version-v0.0.1/index.md
similarity index 100%
rename from docs/content/en/chronicles/version-v0.0.1/index.md
rename to docs/content/en/docs/chronicles/version-v0.0.1/index.md
diff --git a/docs/content/en/chronicles/version-v0.1.0/index.md b/docs/content/en/docs/chronicles/version-v0.1.0/index.md
similarity index 100%
rename from docs/content/en/chronicles/version-v0.1.0/index.md
rename to docs/content/en/docs/chronicles/version-v0.1.0/index.md
diff --git a/docs/content/en/guides/contributing/design-guidelines/resources.md b/docs/content/en/docs/guides/contributing/design-guidelines/resources.md
similarity index 100%
rename from docs/content/en/guides/contributing/design-guidelines/resources.md
rename to docs/content/en/docs/guides/contributing/design-guidelines/resources.md
diff --git a/docs/content/en/guides/contributing/design-guidelines/tools.md b/docs/content/en/docs/guides/contributing/design-guidelines/tools.md
similarity index 100%
rename from docs/content/en/guides/contributing/design-guidelines/tools.md
rename to docs/content/en/docs/guides/contributing/design-guidelines/tools.md
diff --git a/docs/content/en/guides/contributing/index.md b/docs/content/en/docs/guides/contributing/index.md
similarity index 100%
rename from docs/content/en/guides/contributing/index.md
rename to docs/content/en/docs/guides/contributing/index.md
diff --git a/docs/content/en/overview/about-ai-vtuber.md b/docs/content/en/docs/overview/about-ai-vtuber.md
similarity index 100%
rename from docs/content/en/overview/about-ai-vtuber.md
rename to docs/content/en/docs/overview/about-ai-vtuber.md
diff --git a/docs/content/en/overview/about-neuro-sama.md b/docs/content/en/docs/overview/about-neuro-sama.md
similarity index 100%
rename from docs/content/en/overview/about-neuro-sama.md
rename to docs/content/en/docs/overview/about-neuro-sama.md
diff --git a/docs/content/en/overview/index.md b/docs/content/en/docs/overview/index.md
similarity index 100%
rename from docs/content/en/overview/index.md
rename to docs/content/en/docs/overview/index.md
diff --git a/docs/content/zh-Hans/chronicles/index.md b/docs/content/zh-Hans/docs/chronicles/index.md
similarity index 100%
rename from docs/content/zh-Hans/chronicles/index.md
rename to docs/content/zh-Hans/docs/chronicles/index.md
diff --git a/docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-1.png b/docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-1.png
similarity index 100%
rename from docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-1.png
rename to docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-1.png
diff --git a/docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-2.png b/docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-2.png
similarity index 100%
rename from docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-2.png
rename to docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-2.png
diff --git a/docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-3.png b/docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-3.png
similarity index 100%
rename from docs/content/zh-Hans/chronicles/version-v0.0.1/assets/screenshot-3.png
rename to docs/content/zh-Hans/docs/chronicles/version-v0.0.1/assets/screenshot-3.png
diff --git a/docs/content/zh-Hans/chronicles/version-v0.0.1/index.md b/docs/content/zh-Hans/docs/chronicles/version-v0.0.1/index.md
similarity index 100%
rename from docs/content/zh-Hans/chronicles/version-v0.0.1/index.md
rename to docs/content/zh-Hans/docs/chronicles/version-v0.0.1/index.md
diff --git a/docs/content/zh-Hans/chronicles/version-v0.1.0/index.md b/docs/content/zh-Hans/docs/chronicles/version-v0.1.0/index.md
similarity index 100%
rename from docs/content/zh-Hans/chronicles/version-v0.1.0/index.md
rename to docs/content/zh-Hans/docs/chronicles/version-v0.1.0/index.md
diff --git a/docs/content/zh-Hans/guides/contributing/design-guidelines/resources.md b/docs/content/zh-Hans/docs/guides/contributing/design-guidelines/resources.md
similarity index 100%
rename from docs/content/zh-Hans/guides/contributing/design-guidelines/resources.md
rename to docs/content/zh-Hans/docs/guides/contributing/design-guidelines/resources.md
diff --git a/docs/content/zh-Hans/guides/contributing/design-guidelines/tools.md b/docs/content/zh-Hans/docs/guides/contributing/design-guidelines/tools.md
similarity index 100%
rename from docs/content/zh-Hans/guides/contributing/design-guidelines/tools.md
rename to docs/content/zh-Hans/docs/guides/contributing/design-guidelines/tools.md
diff --git a/docs/content/zh-Hans/guides/contributing/index.md b/docs/content/zh-Hans/docs/guides/contributing/index.md
similarity index 100%
rename from docs/content/zh-Hans/guides/contributing/index.md
rename to docs/content/zh-Hans/docs/guides/contributing/index.md
diff --git a/docs/content/zh-Hans/overview/about-ai-vtuber.md b/docs/content/zh-Hans/docs/overview/about-ai-vtuber.md
similarity index 100%
rename from docs/content/zh-Hans/overview/about-ai-vtuber.md
rename to docs/content/zh-Hans/docs/overview/about-ai-vtuber.md
diff --git a/docs/content/zh-Hans/overview/about-neuro-sama.md b/docs/content/zh-Hans/docs/overview/about-neuro-sama.md
similarity index 100%
rename from docs/content/zh-Hans/overview/about-neuro-sama.md
rename to docs/content/zh-Hans/docs/overview/about-neuro-sama.md
diff --git a/docs/content/zh-Hans/overview/index.md b/docs/content/zh-Hans/docs/overview/index.md
similarity index 100%
rename from docs/content/zh-Hans/overview/index.md
rename to docs/content/zh-Hans/docs/overview/index.md
diff --git a/docs/package.json b/docs/package.json
index 3ba21aad1..edb34b877 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -16,6 +16,7 @@
"@proj-airi/i18n": "workspace:^",
"@vueuse/core": "^12.8.2",
"motion-v": "^1.5.0",
+ "pathe": "^2.0.3",
"reka-ui": "^2.3.1",
"vue": "^3.5.13",
"vue-i18n": "^11.1.9",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5a3e8c805..d01d1c707 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -920,6 +920,9 @@ importers:
motion-v:
specifier: ^1.5.0
version: 1.5.0(react@18.3.1)(vue@3.5.17(typescript@5.8.3))
+ pathe:
+ specifier: ^2.0.3
+ version: 2.0.3
reka-ui:
specifier: ^2.3.1
version: 2.3.2(typescript@5.8.3)(vue@3.5.17(typescript@5.8.3))