VitePress 组件文档
本文档展示当前站点在 docs/.vitepress/theme/index.ts 中注册的全局组件,以及常用扩展语法的使用方式。
快速开始
在任意 Markdown 页面中,直接写组件标签即可使用。
md
<PostsList />1. SeriesList
用于展示 series/*/index.md 自动聚合后的系列卡片列表。
用法
md
<SeriesList />展示
2. PostsList
用于展示全站文章时间线(排除各目录下的 index.md)。
用法
md
<PostsList />展示
3. FolderTimeline
用于展示 building 目录的建站日志时间线。
用法
md
<FolderTimeline />展示
4. Timeline
通用时间线组件,支持传入自定义 items。
Props
items: TimelineItem[]必填
TimelineItem 字段:
title: string必填date?: string | Datedescription?: stringlink?: stringicon?: stringcolor?: stringtags?: string[]category?: string
用法
vue
<script setup lang="ts">
const demoItems = [
{
title: '站点初始化',
date: '2026-04-20',
description: '完成 VitePress 基础配置',
link: '/building/',
tags: ['vitepress', 'init'],
color: 'var(--vp-c-brand)',
category: '里程碑'
},
{
title: '新增组件文档',
date: '2026-04-24',
description: '补充组件使用说明和示例',
tags: ['docs']
}
]
</script>
<Timeline :items="demoItems" />展示
新增组件文档
补充组件使用说明和示例
5. ArticleCard
通用文章卡片组件,适合做推荐位、列表卡片区块。
Props
article必填
article 字段:
title: string必填date?: string | Datedescription?: stringlink?: stringtags?: string[]
用法
vue
<script setup lang="ts">
const article = {
title: 'VitePress 组件实践',
date: '2026-04-24',
description: '演示 ArticleCard 的基本展示效果和字段结构。',
link: '/pages/components',
tags: ['vitepress', 'component', 'demo']
}
</script>
<ArticleCard :article="article" />展示
6. 扩展语法
本项目在 config.mts 里额外启用了以下能力:
markdown-it-task-lists:任务列表mermaid:流程图/时序图等vitepress-plugin-group-icons:代码组图标
任务列表
md
- [x] 已完成事项
- [ ] 待办事项- 已完成事项
- 待办事项
Mermaid
md
```mermaid
graph TD
A[开始] --> B{是否已配置组件?}
B -->|是| C[直接在 Markdown 使用]
B -->|否| D[在 theme/index.ts 注册]
```graph TD
A[开始] --> B{是否已配置组件?}
B -->|是| C[直接在 Markdown 使用]
B -->|否| D[在 theme/index.ts 注册]代码组图标
md
::: code-group
```bash [pnpm]
pnpm run docs:dev
```
```bash [npm]
npm run docs:dev
```
:::bash
pnpm run docs:devbash
npm run docs:dev7. 新增组件的接入步骤
- 在
docs/.vitepress/theme/components/新建组件。 - 在
docs/.vitepress/theme/index.ts中import并app.component(...)注册。 - 在 Markdown 页面中直接使用组件标签。