Skip to content

详细贡献指南

感谢你对 VitePress 学习指南项目的关注!本指南将帮助你了解如何参与项目贡献。

快速开始

贡献方式

方式难度时间投入说明
报告问题5 分钟提交 Bug 或建议
修复错别字10 分钟改正文档错误
完善文档⭐⭐1 小时+补充或改进内容
贡献代码⭐⭐⭐2 小时+开发新功能
翻译文档⭐⭐1 小时+英文翻译

贡献流程

Fork 仓库 → 创建分支 → 进行修改 → 提交 PR → 代码审查 → 合并

文档贡献

文档规范

Frontmatter 配置

每个文档必须包含以下 frontmatter:

yaml
---
title: 页面标题
description: 页面描述(150-160 字符)
tags:
  - 标签1
  - 标签2
author: 作者名
date: YYYY-MM-DD
updated: YYYY-MM-DD
difficulty: Beginner | Intermediate | Advanced
---

Markdown 规范

规范说明
标题层级不要跳级,从 ### 再到 ###
代码块必须指定语言类型
表格使用标准格式,有表头
图片必须有 alt 文本
链接使用描述性文本

文件命名

  • 使用小写字母
  • 使用连字符分隔单词
  • 示例:getting-started.mdcustom-theme.md

新增文档

  1. 确定文档所属目录
  2. 创建 .md 文件
  3. 添加完整的 frontmatter
  4. 编写内容
  5. 更新侧边栏配置

改进现有文档

  1. 阅读原文,理解上下文
  2. 保持原有风格一致
  3. 小改动直接修改,大改动先提 Issue 讨论

代码贡献

开发环境

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

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建预览
npm run build
npm run preview

代码规范

TypeScript

  • 严格模式开启
  • 避免使用 any
  • 为函数添加类型注解
typescript
// ✅ 正确
function greet(name: string): string {
  return `Hello, ${name}!`
}

// ❌ 错误
function greet(name) {
  return `Hello, ${name}!`
}

Vue 组件

  • 使用 <script setup lang="ts"> 语法
  • Props 必须定义类型
  • 使用 scoped 样式
vue
<script setup lang="ts">
interface Props {
  title: string
  count?: number
}

const props = withDefaults(defineProps<Props>(), {
  count: 0
})
</script>

提交规范

Commit Message 格式

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

<body>

<footer>

类型说明

类型说明示例
feat新功能feat(theme): 添加暗色模式支持
fix修复 Bugfix(nav): 修复移动端导航问题
docs文档更新docs: 更新安装说明
style代码格式style: 格式化代码缩进
refactor重构refactor(utils): 优化日期函数
perf性能优化perf(list): 虚拟滚动优化
test测试test: 添加组件单元测试
chore构建/工具chore: 更新依赖版本

Pull Request 规范

PR 标题

使用与 Commit Message 相同的格式

PR 描述模板

markdown
## 变更类型
- [ ] 新功能
- [ ] Bug 修复
- [ ] 文档更新
- [ ] 代码重构
- [ ] 其他

## 变更说明
<!-- 简要描述本次变更的内容 -->

## 相关 Issue
<!-- 关联的 Issue 编号,如:Closes #123 -->

## 测试情况
<!-- 如何测试这些变更 -->

## 截图
<!-- 如有 UI 变更,请附上截图 -->

翻译贡献

翻译流程

  1. 选择要翻译的文档
  2. 在对应目录创建 en/ 子目录
  3. 复制原文并进行翻译
  4. 提交 PR

翻译规范

规范说明
技术术语保持英文原样(如 Vue、VitePress)
代码示例不翻译代码和命令
链接保持原有链接不变
专有名词使用官方翻译

审查流程

审查标准

维度检查项
内容准确性、完整性、可读性
格式Markdown 规范、代码规范
兼容不影响现有功能
安全无敏感信息泄露

审查周期

  • 小改动:1-3 天
  • 大改动:3-7 天
  • 重大更新:需要维护者讨论

贡献者权益

贡献者名单

所有贡献者都会被添加到贡献者名单页面。

贡献者徽章

徽章条件
🥇 首次贡献完成第一个 PR
📝 文档贡献者贡献 3+ 文档
💻 代码贡献者贡献 5+ 代码 PR
🌐 翻译贡献者完成翻译任务
🎨 设计贡献者贡献设计资源

获取帮助

渠道用途
GitHub Issues问题反馈
GitHub Discussions讨论交流

感谢你的贡献

每一个贡献都对项目非常重要,感谢你愿意花时间参与开源!

贡献者

加载中...

想要成为贡献者?

在 CNB 上参与贡献