Skip to content

Commit 7b1395a

Browse files
committed
docs(readme): 优化项目说明并补充贡献与开发指南
- 增加在线阅读入口及项目结构说明,便于新用户快速了解项目 - 补充本地开发环境要求、快速开始和常用命令,提升开发体验 - 详细完善贡献方式、流程、规范及内容编写指南,鼓励社区参与 - 明确版本兼容性、开发注意事项和许可证信息 - 新增致谢与联系方式,增强社区互动与归属感
1 parent c764d8b commit 7b1395a

File tree

1 file changed

+207
-29
lines changed

1 file changed

+207
-29
lines changed

README.md

Lines changed: 207 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,51 +14,229 @@
1414

1515
**Zig 语言圣经** 是一份开源的 Zig 语言综合教程,旨在为中文 Zig 爱好者提供一份高质量的学习资源,内容涵盖从基础语法到高级特性的方方面面。
1616

17+
## 📖 在线阅读
18+
19+
- **官方网站**: [https://course.ziglang.cc/](https://course.ziglang.cc/)
20+
- **GitHub Pages**: [https://zigcc.github.io/zig-course/](https://zigcc.github.io/zig-course/)
21+
1722
## ✨ 内容特色
1823

1924
本教程覆盖了 Zig 学习和实践中的多个重要领域:
2025

21-
- **环境配置**: 指导如何安装和配置 Zig 开发环境。
22-
- **基础入门**: 包括变量、类型、流程控制、错误处理等基础知识。
23-
- **高级主题**: 深入探讨 `comptime`、异步、内存管理、C 语言交互等高级特性。
24-
- **工程实践**: 涵盖构建系统、包管理、单元测试和代码风格指南。
25-
- **版本示例**: 提供与 Zig 不同版本相对应的代码示例。
26+
- **环境配置**: 指导如何安装和配置 Zig 开发环境,支持多种编辑器配置
27+
- **基础入门**: 包括变量、类型、流程控制、错误处理等基础知识
28+
- **高级主题**: 深入探讨 `comptime`、异步、内存管理、C 语言交互等高级特性
29+
- **工程实践**: 涵盖构建系统、包管理、单元测试和代码风格指南
30+
- **版本兼容**: 提供与 Zig 0.11-0.15 版本相对应的代码示例
31+
- **实战案例**: 包含 TCP 服务器等实际项目示例
32+
33+
## 📁 项目结构
34+
35+
```
36+
zig-course/
37+
├── .github/ # GitHub Actions 工作流
38+
│ ├── workflows/ # CI/CD 配置
39+
│ └── dependabot.yml # 依赖更新配置
40+
├── build/ # 不同 Zig 版本的构建脚本
41+
│ ├── 0.11.zig # Zig 0.11 构建配置
42+
│ ├── 0.12.zig # Zig 0.12 构建配置
43+
│ └── ... # 其他版本
44+
├── course/ # 教程主要内容
45+
│ ├── .vitepress/ # VitePress 配置
46+
│ │ ├── config.mts # 站点配置
47+
│ │ ├── theme/ # 主题定制
48+
│ │ └── ...
49+
│ ├── basic/ # 基础教程
50+
│ │ ├── basic_type/ # 基本类型
51+
│ │ ├── advanced_type/ # 高级类型
52+
│ │ ├── process_control/ # 流程控制
53+
│ │ └── ...
54+
│ ├── advanced/ # 高级教程
55+
│ │ ├── comptime.md # 编译期计算
56+
│ │ ├── async.md # 异步编程
57+
│ │ ├── memory_manage.md # 内存管理
58+
│ │ └── ...
59+
│ ├── engineering/ # 工程实践
60+
│ │ ├── build-system.md # 构建系统
61+
│ │ ├── package_management.md # 包管理
62+
│ │ └── ...
63+
│ ├── environment/ # 环境配置
64+
│ ├── examples/ # 示例项目
65+
│ ├── code/ # 代码示例(按版本分类)
66+
│ │ ├── 11/ # Zig 0.11 示例
67+
│ │ ├── 12/ # Zig 0.12 示例
68+
│ │ └── ...
69+
│ ├── picture/ # 图片资源
70+
│ ├── public/ # 静态资源
71+
│ └── update/ # 版本更新说明
72+
├── draw/ # 绘图源文件
73+
├── build.zig # 主构建文件
74+
├── package.json # Node.js 依赖配置
75+
├── CONTRIBUTING.md # 贡献指南
76+
├── CODE_OF_CONDUCT.md # 行为准则
77+
└── README.md # 项目说明
78+
```
79+
80+
## 🚀 本地开发
81+
82+
### 环境要求
83+
84+
- **Node.js**: 推荐使用 [Bun](https://bun.sh/) 作为包管理器
85+
- **Zig**: 支持 0.11-0.15 版本
86+
- **autocorrect**: 用于中英文排版优化(可选)
87+
88+
### 快速开始
89+
90+
```sh
91+
# 克隆仓库
92+
git clone https://github.com/zigcc/zig-course.git
93+
cd zig-course
94+
95+
# 安装依赖
96+
bun install
97+
98+
# 启动开发服务器
99+
bun dev
26100

27-
## 🚀 如何阅读
101+
# 在浏览器中访问 http://localhost:5173
102+
```
28103

29-
本项目使用 VitePress 构建。您可以直接在本地启动开发服务器以阅读最新内容:
104+
### 可用命令
30105

31106
```sh
32-
bun i # 安装依赖
33-
bun dev # 启动热更开发服务
107+
bun dev # 启动开发服务器(热重载)
108+
bun build # 构建生产版本
109+
bun preview # 预览构建结果
110+
bun format # 格式化代码(prettier + zig fmt + autocorrect)
111+
bun check # 检查代码格式
112+
bun export-pdf # 导出 PDF 版本
34113
```
35114

36115
## 🤝 参与贡献
37116

38-
欢迎各位志同道合的“道友”参与贡献本文档,并一起壮大 zig 中文社区!
117+
我们热烈欢迎各位"道友"参与贡献,一起壮大 Zig 中文社区!
39118

40-
贡献方法:
119+
### 贡献方式
41120

42-
- Fork 本文档仓库
43-
- 创建一个新的分支,请勿直接使用主分支进行修改
44-
- 发起 Pull Request
45-
- 等待 Review
46-
- 合并到上游仓库,并由 GitHub Action 自动构建
121+
1. **内容贡献**
122+
- 修正错误和改进现有内容
123+
- 添加新的章节或示例
124+
- 翻译和本地化改进
125+
- 添加代码示例和实战案例
47126

48-
**开发命令:**
127+
2. **技术贡献**
128+
- 改进网站功能和用户体验
129+
- 优化构建流程和 CI/CD
130+
- 修复 bug 和性能问题
49131

50-
```sh
51-
bun i # 安装依赖
52-
bun dev # 启动热更开发服务
53-
bun format # 运行 prettier, zig fmt 和 autocorrect 格式化程序
54-
bun run build # 构建产物
55-
bun run preview # 运行预览
56-
```
132+
3. **社区贡献**
133+
- 参与讨论和问题解答
134+
- 推广和分享项目
135+
- 提供反馈和建议
136+
137+
### 贡献流程
138+
139+
1. **Fork 仓库**
140+
141+
```sh
142+
# 在 GitHub 上 Fork 本仓库
143+
git clone https://github.com/YOUR_USERNAME/zig-course.git
144+
cd zig-course
145+
```
146+
147+
2. **创建功能分支**
148+
149+
```sh
150+
git checkout -b feature/your-feature-name
151+
#
152+
git checkout -b fix/your-fix-name
153+
```
154+
155+
3. **进行修改**
156+
- 遵循现有的代码风格和文档格式
157+
- 确保所有代码示例都能正常运行
158+
- 运行 `bun format` 格式化代码
159+
160+
4. **测试修改**
161+
162+
```sh
163+
bun dev # 本地测试
164+
bun build # 确保构建成功
165+
```
166+
167+
5. **提交更改**
168+
169+
```sh
170+
git add .
171+
git commit -m "feat: 添加新功能描述"
172+
#
173+
git commit -m "fix: 修复问题描述"
174+
```
175+
176+
6. **推送并创建 PR**
177+
```sh
178+
git push origin feature/your-feature-name
179+
# 在 GitHub 上创建 Pull Request
180+
```
181+
182+
### 贡献规范
183+
184+
- **提交信息**: 使用 [约定式提交](https://www.conventionalcommits.org/zh-hans/) 格式
185+
- **代码风格**: 运行 `bun format` 确保代码格式一致
186+
- **文档规范**:
187+
- 中英文之间添加空格
188+
- 使用中文标点符号
189+
- 代码块指定语言类型
190+
- **分支命名**:
191+
- 功能: `feature/功能描述`
192+
- 修复: `fix/问题描述`
193+
- 文档: `docs/文档更新`
194+
195+
### 内容编写指南
196+
197+
1. **Markdown 格式**
198+
- 使用标准 Markdown 语法
199+
- 代码块指定语言 `zig`
200+
- 适当使用表格和列表
201+
202+
2. **代码示例**
203+
- 确保代码能在对应 Zig 版本下运行
204+
- 添加必要的注释说明
205+
- 提供完整的可运行示例
206+
207+
3. **图片和资源**
208+
- 图片放在 `course/picture/` 目录下
209+
- 使用相对路径引用
210+
- 提供 alt 文本描述
211+
212+
### 版本兼容性
213+
214+
本项目支持多个 Zig 版本,在贡献代码时请注意:
215+
216+
-`course/code/` 目录下按版本分类存放示例代码
217+
- 确保代码示例在对应版本下能正常编译运行
218+
- 如有版本差异,请在文档中明确说明
219+
220+
## 📋 开发注意事项
221+
222+
- **包管理器**: 本项目使用 [Bun](https://bun.sh/),请勿提交其他包管理器的配置文件
223+
- **依赖更新**: 更新依赖前请参考 [Bun Lockfile 文档](https://bun.sh/docs/install/lockfile)
224+
- **格式化**: 提交前务必运行 `bun format` 进行代码格式化
225+
- **构建测试**: 确保 `bun build` 能成功构建
226+
227+
## 📄 许可证
228+
229+
本项目采用 [MIT 许可证](LICENSE),欢迎自由使用和分发。
230+
231+
## 🙏 致谢
232+
233+
感谢所有为本项目做出贡献的开发者和 Zig 中文社区的支持!
234+
235+
## 📞 联系我们
57236

58-
> [!NOTE]
59-
> 请自行安装 `bun` (建议也安装 `autocorrect`,并且在提交前运行 `bun format`
237+
- **GitHub Issues**: [提交问题和建议](https://github.com/zigcc/zig-course/issues)
238+
- **GitHub Discussions**: [参与社区讨论](https://github.com/zigcc/zig-course/discussions)
60239

61-
> [!NOTE]
62-
> 本文档所使用的构建工具为 [bunjs](https://bun.sh/),在提交时请勿将其他 nodejs 的包管理工具的额外配置文件添加到仓库中。
240+
---
63241

64-
> 如需要更新依赖,请参照此处 [Lockfile](https://bun.sh/docs/install/lockfile) 先设置 git 使用 bun 来 diff 文件
242+
如果这个项目对你有帮助,请给我们一个 ⭐️ Star

0 commit comments

Comments
 (0)