Skip to content

zigcc/zig-course

Repository files navigation

Zig 语言圣经

autocorrect build check deploy pdf

Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.

Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件

Cover Image

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

📖 在线阅读

✨ 内容特色

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

  • 环境配置: 指导如何安装和配置 Zig 开发环境,支持多种编辑器配置
  • 基础入门: 包括变量、类型、流程控制、错误处理等基础知识
  • 高级主题: 深入探讨 comptime、异步、内存管理、C 语言交互等高级特性
  • 工程实践: 涵盖构建系统、包管理、单元测试和代码风格指南
  • 版本兼容: 提供与 Zig 0.11-0.15 版本相对应的代码示例
  • 实战案例: 包含 TCP 服务器等实际项目示例

📁 项目结构

zig-course/
├── .github/                    # GitHub Actions 工作流
│   ├── workflows/              # CI/CD 配置
│   └── dependabot.yml         # 依赖更新配置
├── build/                      # 不同 Zig 版本的构建脚本
│   ├── 0.11.zig              # Zig 0.11 构建配置
│   ├── 0.12.zig              # Zig 0.12 构建配置
│   └── ...                    # 其他版本
├── course/                     # 教程主要内容
│   ├── .vitepress/            # VitePress 配置
│   │   ├── config.mts         # 站点配置
│   │   ├── theme/             # 主题定制
│   │   └── ...
│   ├── basic/                 # 基础教程
│   │   ├── basic_type/        # 基本类型
│   │   ├── advanced_type/     # 高级类型
│   │   ├── process_control/   # 流程控制
│   │   └── ...
│   ├── advanced/              # 高级教程
│   │   ├── comptime.md        # 编译期计算
│   │   ├── async.md           # 异步编程
│   │   ├── memory_manage.md   # 内存管理
│   │   └── ...
│   ├── engineering/           # 工程实践
│   │   ├── build-system.md    # 构建系统
│   │   ├── package_management.md # 包管理
│   │   └── ...
│   ├── environment/           # 环境配置
│   ├── examples/              # 示例项目
│   ├── code/                  # 代码示例(按版本分类)
│   │   ├── 11/                # Zig 0.11 示例
│   │   ├── 12/                # Zig 0.12 示例
│   │   └── ...
│   ├── picture/               # 图片资源
│   ├── public/                # 静态资源
│   └── update/                # 版本更新说明
├── draw/                       # 绘图源文件
├── build.zig                   # 主构建文件
├── package.json               # Node.js 依赖配置
├── CONTRIBUTING.md            # 贡献指南
├── CODE_OF_CONDUCT.md         # 行为准则
└── README.md                  # 项目说明

🚀 本地开发

环境要求

  • Node.js: 推荐使用 Bun 作为包管理器
  • Zig: 支持 0.11-0.15 版本
  • autocorrect: 用于中英文排版优化(可选)

快速开始

# 克隆仓库
git clone https://github.com/zigcc/zig-course.git
cd zig-course

# 安装依赖
bun install

# 启动开发服务器
bun dev

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

可用命令

bun dev          # 启动开发服务器(热重载)
bun build        # 构建生产版本
bun preview      # 预览构建结果
bun format       # 格式化代码(prettier + zig fmt + autocorrect)
bun check        # 检查代码格式
bun export-pdf   # 导出 PDF 版本

🤝 参与贡献

我们热烈欢迎各位"道友"参与贡献,一起壮大 Zig 中文社区!

贡献方式

  1. 内容贡献

    • 修正错误和改进现有内容
    • 添加新的章节或示例
    • 翻译和本地化改进
    • 添加代码示例和实战案例
  2. 技术贡献

    • 改进网站功能和用户体验
    • 优化构建流程和 CI/CD
    • 修复 bug 和性能问题
  3. 社区贡献

    • 参与讨论和问题解答
    • 推广和分享项目
    • 提供反馈和建议

贡献流程

  1. Fork 仓库

    # 在 GitHub 上 Fork 本仓库
    git clone https://github.com/YOUR_USERNAME/zig-course.git
    cd zig-course
  2. 创建功能分支

    git checkout -b feature/your-feature-name
    #
    git checkout -b fix/your-fix-name
  3. 进行修改

    • 遵循现有的代码风格和文档格式
    • 确保所有代码示例都能正常运行
    • 运行 bun format 格式化代码
  4. 测试修改

    bun dev    # 本地测试
    bun build  # 确保构建成功
  5. 提交更改

    git add .
    git commit -m "feat: 添加新功能描述"
    #
    git commit -m "fix: 修复问题描述"
  6. 推送并创建 PR

    git push origin feature/your-feature-name
    # 在 GitHub 上创建 Pull Request

贡献规范

  • 提交信息: 使用 约定式提交 格式
  • 代码风格: 运行 bun format 确保代码格式一致
  • 文档规范:
    • 中英文之间添加空格
    • 使用中文标点符号
    • 代码块指定语言类型
  • 分支命名:
    • 功能:feature/功能描述
    • 修复:fix/问题描述
    • 文档:docs/文档更新

内容编写指南

  1. Markdown 格式

    • 使用标准 Markdown 语法
    • 代码块指定语言 zig
    • 适当使用表格和列表
  2. 代码示例

    • 确保代码能在对应 Zig 版本下运行
    • 添加必要的注释说明
    • 提供完整的可运行示例
  3. 图片和资源

    • 图片放在 course/picture/ 目录下
    • 使用相对路径引用
    • 提供 alt 文本描述

版本兼容性

本项目支持多个 Zig 版本,在贡献代码时请注意:

  • course/code/ 目录下按版本分类存放示例代码
  • 确保代码示例在对应版本下能正常编译运行
  • 如有版本差异,请在文档中明确说明

📋 开发注意事项

  • 包管理器: 本项目使用 Bun,请勿提交其他包管理器的配置文件
  • 依赖更新: 更新依赖前请参考 Bun Lockfile 文档
  • 格式化: 提交前务必运行 bun format 进行代码格式化
  • 构建测试: 确保 bun build 能成功构建

📄 许可证

本项目采用 MIT 许可证,欢迎自由使用和分发。

🙏 致谢

感谢所有为本项目做出贡献的开发者和 Zig 中文社区的支持!

📞 联系我们


如果这个项目对你有帮助,请给我们一个 ⭐️ Star!

About

Zig 语言圣经:简单、快速地学习 Zig, Zig Chinese tutorial, learn zig simply and quickly

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 33