维护文档
本文档说明如何维护 Cavvy 文档站。
原则
- 准确性优先:文档只描述源码中已实现或明确标注为受限的行为
- 可测试性:标为
cay的代码块必须能被自动测试(doc-test.py验证) - 完整性:每个功能应有对应的文档页面
- 时效性:实现状态变更时同步更新
current-status.md
文档结构
docs/
├── README.md # 文档索引(mdBook 入口重定向)
├── index.md # mdBook 首页
├── SUMMARY.md # mdBook 导航结构
├── getting-started.md # 快速开始
├── language-overview.md # 语言总览
├── language-reference.md # 语言参考手册
├── compiler-architecture.md # 编译器架构
├── cli.md # CLI 工具参考
├── preprocessor.md # 预处理器指南
├── ffi.md # FFI 外部函数接口
├── toolchain.md # 工具链与构建
├── testing.md # 测试指南
├── cavly.md # 包管理器
├── bytecode-format.md # CayBC 字节码格式
├── current-status.md # 实现状态
├── maintaining-docs.md # 本文档
本地预览
# 安装 mdBook
cargo install mdbook --locked
# 本地预览文档站
mdbook serve --open
# 构建静态站点
mdbook build
新增页面
- 在
docs/下创建 Markdown 文件 - 在
docs/SUMMARY.md中添加导航链接 - 确保
cay标记的代码块是完整程序 - 运行文档测试验证
.\scripts\test-docs.ps1
文档测试
文档测试由 scripts/doc-test.py 自动执行:
- 扫描
docs/**/*.md和README.md - 抽取语言标记为
cay、cavvy、eol的代码块 - 默认使用
cay-check进行语法检查 cay run标记的块会编译并运行cay ignore标记的块会被跳过
写作规范
-
代码块语言标记:
cay— 完整程序,会被自动检查cay run— 完整程序,会被编译并运行cay ignore— 片段,跳过检查text、bash、powershell— 非 Cavvy 代码cay run— 编译并运行
-
章节标题:使用 ATX 标题(
#符号),层级不超过 4 级 -
链接:文档内部链接使用相对路径(如
[架构](compiler-architecture.md)) -
版本信息:
.verinfo中的版本号变更后,检查README.md和index.md是否需要更新
CI/CD
.github/workflows/docs.yml(或 jekyll-gh-pages.yml):
- 推送到
main分支时自动构建 mdBook - 部署到 GitHub Pages
- 文档测试在 Windows 环境中执行(编译器工具链验证)
常见问题
文档中的代码块无法编译
- 确认代码块是完整程序(包含
Main类和main方法) - 确认使用了正确的语言标记
- 运行
python scripts/doc-test.py --build查看具体错误
新增页面不显示在导航中
检查 docs/SUMMARY.md 是否添加了对应的链接条目。