成为全球最系统、最实用的 Zephyr RTOS 中文学习平台
结构化的 Zephyr RTOS 学习知识库,覆盖从入门到专业的全阶段学习路径。
本项目采用文档即代码(Docs-as-Code)方法,使用 MkDocs 和 Material 主题构建静态知识库网站。
- 📚 系统性: 完整的四阶段学习路径,从前置知识到专业精通
- 💡 实用性: 每个阶段都包含实操任务、代码示例和避坑指南
- 🇨🇳 中文优化: 优化中文搜索、排版和技术术语表达
- 🔍 强大搜索: 支持中文分词的全文搜索功能
- 📱 响应式设计: 完美支持桌面和移动设备
- 🎨 现代 UI: 基于 Material Design 的美观界面
- 🌓 深色模式: 支持浅色/深色主题切换
- 前置必备知识: C 语言、嵌入式硬件基础、RTOS 概念、基础工具
- 第一阶段 - 入门筑基期: 环境搭建、基础工具和核心概念
- 第二阶段 - 进阶实战期: 内核机制、驱动开发和子系统使用
- 第三阶段 - 高级深耕期: 源码分析、BSP 移植和系统优化
- 第四阶段 - 专业精通期: 架构设计、社区贡献和技术布道
Linux/macOS:
# 1. 安装依赖
./scripts/build.sh install
# 2. 启动开发服务器
./scripts/build.sh serve
# 3. 访问 http://127.0.0.1:8000Windows:
REM 1. 安装依赖
scripts\build.bat install
REM 2. 启动开发服务器
scripts\build.bat serve
REM 3. 访问 http://127.0.0.1:8000# 1. 创建虚拟环境(推荐)
python -m venv venv
# 2. 激活虚拟环境
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 3. 安装依赖
pip install -r requirements.txt
# 4. 启动开发服务器
mkdocs serve- Python 3.8+
- pip
- Git
-
启动开发服务器
./scripts/build.sh serve # Linux/macOS scripts\build.bat serve # Windows
开发服务器支持热重载,修改文件后自动刷新浏览器。
-
编辑内容
- 所有内容文件位于
docs/目录 - 使用 Markdown 格式编写
- 支持代码高亮、Mermaid 图表、Admonitions 等扩展语法
- 所有内容文件位于
-
优化图片(添加新图片时)
# 优化所有图片 python scripts/optimize-images.py # 预览优化效果(不修改文件) python scripts/optimize-images.py --dry-run # 优化特定目录 python scripts/optimize-images.py --target-dir docs/assets/images/hardware
图片优化功能:
- 自动压缩 PNG/JPEG 图片
- 优化 SVG 文件
- 生成 WebP 格式
- 自动调整过大图片尺寸
- 确保图片 < 200KB
详细说明请参考 图片管理指南
-
预览更改
- 访问 http://127.0.0.1:8000
- 实时查看更改效果
- 图片自动启用懒加载
-
构建生产版本
./scripts/build.sh build # Linux/macOS scripts\build.bat build # Windows
生成的静态文件位于
site/目录。
# 验证构建结果
./scripts/validate.sh # Linux/macOS
# 检查内容质量
# - 文件大小
# - 搜索索引
# - 内部链接
# - 图片资源本项目配置了 GitHub Actions 自动化工作流:
- 推送到 main 分支: 自动构建并部署到 GitHub Pages
- Pull Request: 自动运行构建测试和内容检查
- 手动触发: 可在 Actions 页面手动触发部署
- 进入仓库 Settings → Pages
- Source 选择 "GitHub Actions"
- 推送代码到 main 分支即可自动部署
部署完成后,网站将在 https://<username>.github.io/<repository>/ 访问。
# 使用部署脚本
./scripts/deploy.sh github # Linux/macOS
# 或使用 MkDocs 命令
mkdocs gh-deploy --clean# 设置环境变量
export DEPLOY_HOST=user@example.com
export DEPLOY_PATH=/var/www/html
# 执行部署
./scripts/deploy.sh custom # Linux/macOS# 生成 tar.gz 压缩包
./scripts/deploy.sh package # Linux/macOS
# 上传到服务器并解压
scp zephyr-learning-system_*.tar.gz user@server:/path/
ssh user@server "cd /path && tar -xzf zephyr-learning-system_*.tar.gz"生成的 site/ 目录包含纯静态文件,可以部署到任何静态网站托管服务:
- 连接 GitHub 仓库
- 构建命令:
mkdocs build - 发布目录:
site
- 导入 GitHub 仓库
- Framework Preset: Other
- Build Command:
pip install -r requirements.txt && mkdocs build - Output Directory:
site
# 构建网站
./scripts/build.sh build
# 同步到 S3
aws s3 sync site/ s3://your-bucket-name/ --delete
# 清除 CloudFront 缓存
aws cloudfront create-invalidation --distribution-id YOUR_DIST_ID --paths "/*"# 验证部署的网站
./scripts/deploy.sh verify https://your-site-url.com我们欢迎并感谢所有形式的贡献!
- 内容贡献: 添加新的学习内容、改进现有文档
- Bug 修复: 修复错别字、断链、格式问题
- 功能建议: 提出新功能或改进建议
- 问题反馈: 报告问题或提供反馈
-
Fork 本仓库
点击右上角的 Fork 按钮
-
克隆到本地
git clone https://github.com/your-username/zephyr-learning-system.git cd zephyr-learning-system -
创建特性分支
git checkout -b feature/amazing-content
-
进行更改
- 编辑文档内容
- 本地测试:
./scripts/build.sh serve - 验证构建:
./scripts/build.sh build
-
提交更改
git add . git commit -m "add: add XXX content"
提交信息格式:
add: add new contentfix: fix issueupdate: update contentdocs: improve documentation
-
推送到 GitHub
git push origin feature/amazing-content
-
创建 Pull Request
- 访问你的 Fork 仓库
- 点击 "New Pull Request"
- 填写 PR 描述
- 等待审核
- 使用标准 Markdown 语法
- 代码块必须指定语言标识
```python def hello(): print("Hello, Zephyr!")
- 使用 Admonitions 提示框
!!! info "提示" 这是一个信息提示框 !!! warning "注意" 这是一个警告提示框
每个页面应包含 YAML Front Matter:
---
title: "页面标题"
description: "页面描述"
tags: ["标签1", "标签2"]
difficulty: "初级" # 初级、中级、高级、专家
estimated_time: "30 分钟"
---- 图片存放在
docs/assets/images/目录 - 使用描述性文件名:
zephyr-architecture.png - 图片大小控制在 200KB 以内
- 提供 alt 文本:

使用 Mermaid 绘制流程图、时序图等:
```mermaid
graph LR
A[开始] --> B[学习]
B --> C[实践]
C --> D[精通]
#### 代码示例
- 代码应完整可运行
- 添加必要的注释
- 使用实际的 Zephyr API
```c
#include <zephyr/kernel.h>
void main(void)
{
printk("Hello, Zephyr!\n");
}
Pull Request 将根据以下标准审核:
- ✅ 内容准确性
- ✅ 格式规范性
- ✅ 构建通过
- ✅ 链接有效性
- ✅ 代码可运行性
- ✅ 中文表达流畅性
zephyr-learning-system/
├── .github/
│ └── workflows/ # GitHub Actions 工作流
│ ├── build.yml # 构建和部署
│ └── pr-check.yml # PR 检查
├── docs/ # 文档内容
│ ├── index.md # 首页
│ ├── about.md # 关于页面
│ ├── prerequisites/ # 前置必备知识
│ ├── stage1-foundation/ # 第一阶段:入门筑基期
│ ├── stage2-intermediate/ # 第二阶段:进阶实战期
│ ├── stage3-advanced/ # 第三阶段:高级深耕期
│ ├── stage4-expert/ # 第四阶段:专业精通期
│ ├── learning-principles/ # 学习黄金法则
│ └── assets/ # 静态资源
│ └── images/ # 图片资源
├── scripts/ # 构建和部署脚本
│ ├── build.sh # Linux/macOS 构建脚本
│ ├── build.bat # Windows 构建脚本
│ ├── deploy.sh # 部署脚本
│ └── validate.sh # 验证脚本
├── mkdocs.yml # MkDocs 配置文件
├── requirements.txt # Python 依赖
└── README.md # 项目说明
- 静态站点生成器: MkDocs
- 主题: Material for MkDocs
- 搜索: Lunr.js(支持中文分词)
- 图表: Mermaid
- CI/CD: GitHub Actions
- 托管: GitHub Pages
问题: mkdocs build 失败
解决方案:
- 检查 Python 版本(需要 3.8+)
- 重新安装依赖:
pip install -r requirements.txt --upgrade - 检查 mkdocs.yml 配置文件格式
- 查看详细错误信息:
mkdocs build --verbose
问题: 搜索功能无法使用
解决方案:
- 确保已构建网站:
mkdocs build - 检查
site/search/search_index.json是否存在 - 清除浏览器缓存后重试
问题: 中文搜索结果不理想
解决方案:
- 确保 mkdocs.yml 中配置了中文语言:
lang: zh - 检查搜索插件配置
- 使用更具体的搜索关键词
问题: 页面中的图片无法显示
解决方案:
- 检查图片路径是否正确(使用相对路径)
- 确保图片文件存在于
docs/assets/images/目录 - 检查图片文件名是否正确(区分大小写)
本项目采用 MIT License 开源协议。
- Zephyr Project - 提供优秀的 RTOS
- MkDocs - 强大的文档生成工具
- Material for MkDocs - 美观的主题
- 所有贡献者 - 感谢你们的贡献
- GitHub Issues: 提交问题
- GitHub Discussions: 参与讨论
- Email: vector.qiu@gmail.com
- 基础框架搭建
- 前置知识内容
- 第一阶段内容
- 第二阶段内容
- 第三阶段内容
- 第四阶段内容
- 学习法则内容
- 构建和部署系统
- 学习进度跟踪功能
- 社区互动功能
- 多语言支持(英文版)
- 视频教程集成
开始你的 Zephyr RTOS 学习之旅吧! 🚀