Skip to content

贡献指南

感谢你对 VitePress 学习指南项目的关注!我们欢迎所有形式的贡献,包括内容完善、问题反馈、功能建议等。

快速开始

环境准备

在开始贡献之前,请确保你的开发环境满足以下要求:

工具版本要求说明
Node.js>= 18.0.0JavaScript 运行环境
npm>= 9.0.0包管理器
Git>= 2.0.0版本控制工具

本地开发

bash
# 1. Fork 并克隆仓库
git clone https://cnb.cool/ZhangWeilong/VitePress.git
cd VitePress

# 2. 安装依赖
npm install

# 3. 启动开发服务器
npm run docs:dev

# 4. 在浏览器中访问
# http://localhost:5173

贡献类型

1. 内容贡献

我们非常欢迎以下类型的内容贡献:

新增教程

  • 确保内容与 VitePress 相关
  • 内容组织清晰,循序渐进
  • 包含代码示例和截图说明

完善现有内容

  • 修正错别字和语法错误
  • 补充遗漏的信息
  • 更新过时的内容

翻译贡献

  • 保持术语一致性
  • 遵循中文技术写作规范

2. 问题反馈

在提交 Issue 之前,请:

  1. 搜索已有的 Issue,避免重复
  2. 使用清晰的标题描述问题
  3. 提供复现步骤(如适用)
  4. 说明你的环境信息

3. 功能建议

欢迎提出新功能建议:

  • 描述功能的使用场景
  • 说明预期效果
  • 如果可能,提供实现思路

文档规范

目录结构

docs/
├── guide/           # 入门指南
├── basics/          # 基础功能
├── theme/           # 主题定制
├── advanced/        # 高级功能
├── examples/        # 实战案例
├── best-practices/  # 最佳实践
└── .vitepress/      # 配置和主题

Frontmatter 规范

每个页面都应包含 frontmatter:

markdown
---
title: 页面标题
description: 页面描述,用于 SEO(建议 50-160 字符)
---

标题规范

  • 一级标题(#):页面主标题,每个页面只有一个
  • 二级标题(##):章节标题
  • 三级标题(###):小节标题
  • 避免跳级使用标题

代码块规范

语法高亮

markdown
```javascript
// 使用正确的语言标识
const greeting = 'Hello VitePress!'

#### 代码注释

- 添加必要的注释说明
- 注释简洁明了
- 中文注释使用中文标点

#### 代码组

当需要展示多种语言或多个文件时,使用代码组:

````markdown
::: code-group
```npm
npm install vitepress
yarn
yarn add vitepress
pnpm
pnpm add vitepress

:::


### 自定义容器

使用自定义容器突出重要信息:

```markdown
::: tip 提示
这是一个提示信息。
:::

::: warning 注意
这是一个警告信息。
:::

::: danger 危险
这是一个危险警告。
:::

::: info 信息
这是一个信息提示。
:::
```

### 图片规范

- 使用相对路径:`./images/example.png`
- 或使用 public 目录:`/images/example.png`
- 图片命名:使用小写字母和连字符,如 `project-structure.png`
- 添加 alt 属性:`![项目结构图](./images/structure.png)`

## Git 提交规范

### 提交信息格式

```
<type>(<scope>): <subject>

<body>

<footer>
```

### Type 类型

| 类型 | 说明 |
|------|------|
| docs | 文档更新 |
| feat | 新功能 |
| fix | 修复问题 |
| style | 代码格式调整 |
| refactor | 代码重构 |
| perf | 性能优化 |
| test | 测试相关 |
| chore | 构建/工具相关 |

### 示例

```bash
# 文档更新
git commit -m "docs: 更新安装指南中的 Node.js 版本要求"

# 新增内容
git commit -m "docs(guide): 添加主题开发教程"

# 修复错误
git commit -m "fix: 修正配置示例中的语法错误"
```

## Pull Request 流程

### 1. 创建分支

```bash
# 从 main 创建功能分支
git checkout -b docs/your-feature-name
```

分支命名建议:

- `docs/xxx` - 文档更新
- `feat/xxx` - 新功能
- `fix/xxx` - 问题修复

### 2. 进行修改

- 遵循文档规范
- 保持提交历史整洁
- 一个 PR 只做一件事

### 3. 提交 PR

在 GitHub 上创建 Pull Request:

1. 填写清晰的标题和描述
2. 关联相关的 Issue
3. 等待审核和反馈

### 4. 代码审核

- 响应审核意见
- 及时修改问题
- 保持讨论专业友好

## 样式贡献

### CSS 规范

- 使用 CSS 变量,便于主题切换
- 遵循 BEM 命名约定(可选)
- 响应式设计优先

### 组件规范

- 使用 Vue 3 Composition API
- 组件名使用 PascalCase
- Props 添加类型定义

## 社区准则

### 行为准则

- 尊重所有贡献者
- 使用包容性语言
- 接受建设性批评
- 关注对社区最有利的事情

### 获得帮助

如果你在贡献过程中遇到问题:

1. 查阅本文档
2. 搜索已有 Issue
3. 在 Discussions 中提问

## 🏆 贡献者荣誉

我们非常珍视每一位贡献者的付出,项目设有以下荣誉体系:

### 贡献等级

| 等级 | 条件 | 徽章 |
|------|------|------|
| 🌱 新手贡献者 | 首次提交 PR 并合并 | `first-pr` |
| ✍️ 内容作者 | 提交 3+ 篇文档改进 | `content-writer` |
| 🐛 问题猎人 | 提交 5+ 有效 Issue | `bug-hunter` |
| 🎨 样式设计师 | 提交 3+ 样式/UI 改进 | `designer` |
| 📚 核心贡献者 | 累计 10+ 合并 PR | `core-contributor` |
| 💎 杰出贡献者 | 由维护者评选 | `outstanding` |

### 贡献者榜单

我们会在 [贡献者页面](/contributors) 和 GitHub 仓库首页展示所有贡献者。

### 获得认可的方式

1. **贡献者列表**:所有合并 PR 的贡献者都会显示在贡献者列表中
2. **Changelog 致谢**:每个版本的更新日志会感谢该版本的贡献者
3. **GitHub Stars**:高质量的贡献会在仓库 README 中特别致谢
4. **社区推荐**:活跃贡献者有机会被推荐到 VitePress 中文社区

### 季度贡献之星

每季度评选一次,基于以下维度:

- 📝 内容贡献数量和质量
- 🔄 持续贡献的稳定性
- 🤝 社区互动和帮助他人
- 🎯 对项目发展的实际影响

---

## 📊 贡献统计

想要查看贡献统计?访问 [贡献者页面](/contributors) 查看详细的贡献数据和排行榜。

---

贡献者

加载中...

想要成为贡献者?

在 CNB 上参与贡献