6.9 KiB
title, icon, createTime, permalink
| title | icon | createTime | permalink |
|---|---|---|---|
| doc 集合 | streamline-ultimate:sidebar-line-left | 2025/10/05 17:11:48 | /guide/collection/doc/ |
概述
doc 集合专为管理结构化文档而设计,适用于文章间存在强关联关系、需要整体呈现的场景。典型应用包括:
- API 技术文档
- 产品使用教程
- 专题开发指南
- 知识体系笔记
该集合通过智能侧边导航栏实现文档间的快速跳转与内容组织。
::: info 主题支持配置多个独立的 doc 集合 :::
创建 doc 集合
通过三个步骤快速创建文档集合:
:::: steps
-
创建文档目录
::: file-tree
- docs
- ++ guide
- ++ intro.md
- ++ install.md
- ++ … :::
- ++ guide
- docs
-
配置集合参数
::: code-tabs#config
@tab .vuepress/config.ts
import { defineUserConfig } from 'vuepress' import { plumeTheme } from 'vuepress-theme-plume' export default defineUserConfig({ theme: plumeTheme({ collections: [ // [!code focus:3] { type: 'doc', dir: 'guide', title: '指南' } ] }) })@tab .vuepress/plume.config.ts
import { defineThemeConfig } from 'vuepress-theme-plume' export default defineThemeConfig({ collections: [ // [!code focus:3] { type: 'doc', dir: 'guide', title: '指南' } ] }):::
-
完成配置 ::::
多语言支持
为不同语言版本配置独立的文档集合:
::: file-tree
- docs
- guide
- intro.md
- install.md
- …
- en
- guide
- intro.md
- install.md
- … :::
- guide
- guide
::: code-tabs#config
@tab .vuepress/config.ts
import { defineUserConfig } from 'vuepress'
import { plumeTheme } from 'vuepress-theme-plume'
export default defineUserConfig({
theme: plumeTheme({
locales: {
'/': { // [!code focus:5]
collections: [
{ type: 'doc', dir: 'guide', title: '指南' }
]
},
'/en/': { // [!code focus:5]
collections: [
{ type: 'doc', dir: 'guide', title: 'Guide' }
]
}
}
})
})
@tab .vuepress/plume.config.ts
import { defineThemeConfig } from 'vuepress-theme-plume'
export default defineThemeConfig({
locales: {
'/': { // [!code focus:5]
collections: [
{ type: 'doc', dir: 'guide', title: '指南' }
]
},
'/en/': { // [!code focus:5]
collections: [
{ type: 'doc', dir: 'guide', title: 'Guide' }
]
}
}
})
:::
目录结构配置
dir 参数定义文档源文件位置,支持相对和绝对路径:
dir: 'guide' // 指向 docs/guide
dir: '/guide/' // 等效写法
dir: './guide/' // 等效写法
dir: '/team/guide/' // 指向 docs/team/guide
::: info 多语言环境下路径相对于对应的语言目录 :::
自动 Frontmatter 生成
::: info 仅在执行 vuepress dev 或 vuepress build 后生效
:::
支持自动生成文档元数据,可自定义处理逻辑:
::: code-tabs#config
@tab .vuepress/config.ts
import { defineUserConfig } from 'vuepress'
import { plumeTheme } from 'vuepress-theme-plume'
export default defineUserConfig({
theme: plumeTheme({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl:10]
autoFrontmatter: {
title: true, // 自动生成标题
createTime: true, // 自动生成创建时间
permalink: true, // 自动生成永久链接
transform: (data, context, locale) => { // 自定义转换
data.foo ??= 'foo'
return data
}
}
}
]
})
})
@tab .vuepress/plume.config.ts
import { defineThemeConfig } from 'vuepress-theme-plume'
export default defineThemeConfig({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl:10]
autoFrontmatter: {
title: true, // 自动生成标题
createTime: true, // 自动生成创建时间
permalink: true, // 自动生成永久链接
transform: (data, context, locale) => { // 自定义转换
data.foo ??= 'foo'
return data
}
}
}
]
})
:::
生成效果:
---
title: install
createTime: 2025/03/24 20:15:12
permalink: /guide/a1b2c3d4/
---
侧边栏配置
提供灵活的侧边栏导航配置选项:
::: code-tabs#config
@tab .vuepress/config.ts
import { defineUserConfig } from 'vuepress'
import { plumeTheme } from 'vuepress-theme-plume'
export default defineUserConfig({
theme: plumeTheme({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl:5]
sidebar: [ // 手动配置导航项
'intro',
'install',
],
sidebarScrollbar: true, // 显示侧边栏滚动条
}
]
})
})
@tab .vuepress/plume.config.ts
import { defineThemeConfig } from 'vuepress-theme-plume'
export default defineThemeConfig({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl:5]
sidebar: [ // 手动配置导航项
'intro',
'install',
],
sidebarScrollbar: true, // 显示侧边栏滚动条
}
]
})
:::
自动生成侧边栏
设置 sidebar: 'auto' 自动基于目录结构生成导航:
::: code-tabs#config
@tab .vuepress/config.ts
import { defineUserConfig } from 'vuepress'
import { plumeTheme } from 'vuepress-theme-plume'
export default defineUserConfig({
theme: plumeTheme({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl]
sidebar: 'auto', // 自动生成导航结构
sidebarCollapsed: undefined, // 折叠状态:true-折叠 false-展开
}
]
})
})
@tab .vuepress/plume.config.ts
import { defineThemeConfig } from 'vuepress-theme-plume'
export default defineThemeConfig({
collections: [
{
type: 'doc',
dir: 'guide',
title: '指南',
// [!code hl]
sidebar: 'auto', // 自动生成导航结构
sidebarCollapsed: undefined, // 折叠状态:true-折叠 false-展开
}
]
})
:::
手动配置侧边栏
查看侧边栏详细配置说明{.read-more}
集合首页定制
目录下的 README.md 自动作为集合首页,支持转换为功能丰富的门户布局:
---
pageLayout: home
config:
- type: hero
title: TypeScript 完全指南
description: 从基础到进阶的 TypeScript 学习路径
- type: features
features:
- title: 类型系统
details: 深入理解 TypeScript 类型系统
icon: mdi:code-braces
- title: 高级特性
details: 掌握泛型、装饰器等高级功能
icon: mdi:rocket-launch
---