在《前端基建必备技能:前端项目文档-初识VitePress》中介绍了 VitePress
的基础API和配置。接下来,介绍在实际场景中如何去实现,希望能给各位开发同学提供一个简单易懂的思路。
回顾
VitePress
是一个由 Vue 之父尤雨溪开发的静态网站生成器,它基于 Vite
构建,适用于快速创建和部署轻量级静态文档站点。在实际运用中,VitePress 主要适用于以下场景:
- 文档编写:
- 对于开源项目或企业内部项目,可以使用
VitePress
快速构建美观、响应式且易于维护的文档网站,如组件库、框架或工具的用户手册。
- 对于开源项目或企业内部项目,可以使用
- 技术博客:
- 开发者可搭建个人技术博客,利用 Markdown 进行内容创作,享受近乎即时的预览和高效的构建速度。
- 知识库构建:
- 企业或团队可以用
VitePress
构建内部知识库,方便成员查阅和分享各类技术和业务文档。
- 企业或团队可以用
- 教程发布:
- 教育机构或个人讲师可用来制作、发布在线教程,支持代码高亮、表格、图片等丰富格式,提升阅读体验。
实战
使用场景
- 使用
VitePress
编写包含部门所有项目的说明文档。
文档内容分析
文档内容大致分为三个模块:
全局配置(主要是导航栏和页脚)
、首页
和项目介绍页
。每个模块需要展示的内容如下:
全局配置
模块 | 内容 | 配置 |
---|---|---|
导航栏 | 站点标题和图标 | config.title / themeConfig.siteTitle / themeConfig.logo |
本地搜索 | search: { provider: 'local' } |
|
导航链接 | themeConfig.nav |
|
主题切换 | config.appearance ,默认开启 |
|
社交链接 | themeConfig.nsocialLinksav |
|
页脚 | 一般显示版权信息、公司名等等 | themeConfig.footer |
首页
首页作为整个文档系统的门面,应当简洁明了地传达出最重要的信息,并引导读者快速进入所需内容。
内容 | 配置 |
---|---|
部门/团队介绍 | 简要概述部门信息。 |
快速进入项目指引 | 快速进入项目详情介绍入口。 |
部门/项目特色 | 突出部门的技术特点、服务特色或行业地位。如果项目众多,可以根据类型、用途或技术栈进行分类展示。 |
项目介绍页
确保项目介绍全面、清晰且便于读者理解,可以从以下几个方面来介绍每个项目:
内容 | 配置 |
---|---|
项目概述 | 对每个项目做简短但全面的介绍,阐述其主要功能、目标用户群体、技术栈和主要开发人员。 |
安装与快速开始 | 每个项目文档应包含详尽的安装步骤,如依赖包的安装、配置文件设置等。 提供"快速上手"指南,帮助新加入的开发同学迅速启动项目并初步了解基本操作。 |
功能模块详解 | 对每个项目的主要功能模块进行细分讲解,包括接口说明、组件用法、核心逻辑等。 |
技术清单 | 项目中用到的语言、框架、组件库以及对应的版本进行说明。 |
常见问题与解决方案 | 针对每个项目收集并整理常见问题及相应的解决办法,形成 FAQ 模块。 |
版本更新日志 | 记录每个版本的变更详情,让使用者及时了解新增特性、修复的问题和可能的迁移指南。 |
DEMO示例
VitePress
上手比较容易,提供的配置和API直观易懂,开发同学通过简易操作就能立竿见影地看到实际效果,实现所配即所得。下面不再过多的赘述过程,大家通过配图和代码示例就可以轻松理解:
首页示例
全局配置
js
// docs/.vitepress/config.mjs
import { defineConfig } from "vitepress";
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "部门",
description: "项目文档",
themeConfig: {
siteTitle: "公司名称 / logo",
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: "首页", link: "/" },
{ text: "项目", link: "/markdown-examples" },
],
socialLinks: [{ icon: "github", link: "https://github.com/vuejs/vitepress" }],
search: {
provider: "local",
},
footer: {
message: "Released under the MIT License.",
copyright: "Copyright © xxxxxxxxx",
},
},
});
首页代码
md
---
layout: home
hero:
name: "部门"
text: "项目文档"
tagline: 部门所有项目说明文档
actions:
- theme: brand
text: 快速进入
link: /markdown-examples
- theme: alt
text: 项目地址
link: /api-examples
features:
- icon: 🛠️
title: 整体项目特点一
details: 项目特点描述
- icon: 🎓
title: 项目特点二
details: 项目特点描述
- icon: 📦
title: 项目特点三
details: 项目特点描述
项目介绍页示例
配置代码
js
import { defineConfig } from "vitepress";
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "部门",
description: "项目文档",
themeConfig: {
siteTitle: "公司名称 / logo",
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: "首页", link: "/" },
{ text: "项目", link: "../project/project-1/index" },
],
sidebar: {
"/project/": {
base: "/project/",
items: [
{
text: "项目一",
collapsed: false,
items: [
{ text: "项目概述", link: "project-1/summarize" },
{ text: "安装与快速开始", link: "project-1/start" },
{ text: "技术清单", link: "project-1/technical-list" },
],
},
{
text: "项目二",
collapsed: false,
items: [
{ text: "项目概述", link: "project-2/summarize" },
{ text: "安装与快速开始", link: "project-2/start" },
{ text: "技术清单", link: "project-2/technical-list" },
],
},
],
},
},
socialLinks: [{ icon: "github", link: "https://github.com/vuejs/vitepress" }],
search: {
provider: "local",
},
footer: {
message: "Released under the MIT License.",
copyright: "Copyright © xxxxxxxxx",
},
},
});
页面代码
md
# 项目概述
## 项目概述
项目概述内容
## 功能模块详解
功能模块详解内容
目录结构
md
├─ docs
│ ├─ .DS_Store
│ ├─ .vitepress
│ │ └─ config.mjs
│ ├─ index.md
│ └─ project
│ ├─ project-1
│ │ ├─ index.md
│ │ ├─ start.md
│ │ ├─ summarize.md
│ │ └─ technical-list.md
│ └─ project-2
│ ├─ index.md
│ ├─ start.md
│ ├─ summarize.md
│ └─ technical-list.md