文档维护¶
English | 简体中文
网站直接使用 docs/ 中的 Markdown。Python API 参考目前仍是人工维护的 Markdown;
第一版网站迁移不包含自动提取 API。
本地预览¶
在仓库根目录安装锁定的文档依赖并启动服务:
打开 MkDocs 输出的地址,通常为 http://127.0.0.1:8000/pyattacker/。
/pyattacker/ 前缀与 GitHub Pages 一致,便于在本地检查相对链接。
检查修改¶
uv run --group docs mkdocs build --strict
uv run pytest tests/test_docs_i18n.py tests/test_docs_examples.py tests/test_tutorial.py
生成的 site/ 目录被 Git 忽略。文档依赖放在 docs 依赖组中,更新时提交 uv.lock;
它们不属于库的运行时依赖。
新增页面应加入 mkdocs.yml,提供中文对应页和双向语言链接。
扩展 tests/test_docs_i18n.py 的文档配对表;中英文可运行代码块应保持一致。
保留教程和参考中的示例标记,让测试继续执行它们。
指向 docs/ 之外文件的链接使用完整 GitHub URL,文档内部使用相对链接。
严格构建会检查页面链接和锚点,但不检查外部 URL 的可访问性。
发布¶
仓库 Pages 来源为 GitHub Actions。Documentation workflow 在 PR、推送到 main
和手动触发时构建。PR 只验证;推送到 main 或在 main 上手动触发时上传站点,
通过 github-pages environment 部署。不需要自定义域名。
站点地址为 https://hazer-bjtu.github.io/pyattacker/。构建或部署失败时查看仓库 Actions。 如果 environment 设置了保护规则,部署可能需要审批。 只有部署 job 获得 Pages 与 OIDC 写权限。
版本策略¶
第一版网站跟随 main,每页显示开发版提示,并非最新已发布包的固定版本参考。
后续可增加按版本发布,在开发文档之外提供 stable 文档。