Prhub

#23337 [Docs] Sync docs_new with legacy docs and update migration redirects

原始 PR 作者 zijiexia 合并时间 2026-04-21 15:15 文件变更 179 提交数 9 评论 2 代码增减 +16004 / -8152

执行摘要

同步新旧文档并更新迁移重定向,添加 pre-commit 保护遗留目录。

根据PR描述,动机是更新Mintlify文档迁移状态并保持docs_new与遗留docs内容对齐,通过主提交a49063241。这确保迁移顺利进行,路由可预测,避免链接失效。

建议技术管理者关注重定向规则的可靠性和pre-commit钩子的实施,以确保文档迁移顺利进行。工程师可参考新增的扩散模型和硬件平台支持文档,了解最新开发指南,并学习pre-commit机制以规范贡献流程。

讨论亮点

review评论中,gemini-code-assist[bot]指出了两个文档细节问题:在cache_dit.mdx中的typo 'enable_sperate_cfg' 应改为 'enable_separate_cfg',以及在environment_variables.mdx中的语法错误 'only support for' 应改为 'only supported for'。讨论集中在文档正确性,没有重大争议,问题已接受修复。

实现拆解

  1. 同步文档内容:同步docs_new/docsdocs目录的页面,添加缺失的迁移页面,覆盖高级功能、硬件平台、支持模型等模块。涉及文件如docs_new/docs/sglang-diffusion/support_new_models.mdxdocs_new/docs/supported-models/support_new_models.mdx。原因:确保内容一致性,便于用户访问最新文档。影响:更新后文档站点内容更完整。
  2. 重命名文件:将MDX文件重命名以匹配遗留源文件名,例如将JIT_kernels.mdx重命名为development_jit_kernel_guide.mdx。涉及文件如docs_new/docs/developer_guide/development_jit_kernel_guide.mdx。原因:保持路由可预测性,便于重定向规则映射。影响:减少迁移过程中的链接断裂风险。
  3. 添加pre-commit钩子:新增脚本scripts/ci/check_no_docs_changes.py,在pre-commit配置中注册,拒绝docs/目录下的更改。关键符号:main函数和get_staged_paths辅助函数。原因:防止贡献者错误修改遗留目录,强制使用新版文档。影响:提升团队维护效率,避免内容分歧。
  4. 更新导航和重定向:更新docs_new/docs.json文件,刷新导航条目和重定向规则,确保从遗留Sphinx URL正确跳转到Mintlify站点。原因:验证显示Mintlify通配符重定向不可靠,需显式规则保证可靠性。影响:用户访问旧链接时无缝跳转,提升体验。
文件 模块 状态 重要度
docs_new/docs/sglang-diffusion/support_new_models.mdx 文档迁移 added 7.1
scripts/ci/check_no_docs_changes.py CI 脚本 added 6.17
docs_new/docs.json 文档配置 modified 5.0

关键符号

main get_staged_paths

关键源码片段

scripts/ci/check_no_docs_changes.py infrastructure

新增 pre-commit 钩子脚本,用于阻止对遗留 docs 目录的更改,强制贡献者更新新版文档。

#!/usr/bin/env python3
import subprocess
import sysdef get_staged_paths() -> list:
    """
    获取当前git暂存区中的所有文件路径列表。
    使用git diff --cached命令提取已暂存但未提交的文件名。
    """
    result = subprocess.run(
        ['git', 'diff', '--cached', '--name-only'],
        capture_output=True,
        text=True,
        check=True # 如果命令失败则抛出异常
    )
    # 将输出按行分割,并过滤空字符串
    return result.stdout.strip().split('\n') if result.stdout.strip() else []def main() -> None:
    """
    主函数:遍历暂存文件路径,检查是否包含遗留docs目录。
    如果发现任何以'docs/'开头的路径,则打印错误信息并退出。
    这样,pre-commit钩子会阻止提交,引导用户更新docs_new目录。
    """
    staged_paths = get_staged_paths()
    for path in staged_paths:
        if path.startswith('docs/'): # 检查路径是否在遗留 docs 目录下
            print(f"Error: Changes to '{path}' are not allowed.")
            print("Please update the corresponding documentation under 'docs_new/' instead.")
            sys.exit(1) # 退出码非零,表示 pre-commit 检查失败if __name__ == "__main__":
    main() # 脚本入口点

评论区精华

Typo in diffusion documentation 正确性

gemini-code-assist[bot] 在 `cache_dit.mdx` 中检测到拼写错误 'enable_sperate_cfg',建议更正为 'enable_separate_cfg'。

结论:接受修复,问题已解决。 · 已解决

Grammar issue in environment variables 正确性

gemini-code-assist[bot] 在 `environment_variables.mdx` 中指出语法错误 'only support for',应改为 'only supported for'。

结论:接受修复,问题已解决。 · 已解决

风险与影响

技术风险较低。重定向规则更新可能引入404错误,但PR中已通过本地HTTP测试验证147条规则无失败,风险可控。pre-commit钩子可能错误阻止合法更改(如对docs/目录的必要修复),需确保脚本逻辑准确,避免误报。文档同步可能遗漏页面或引入内容不一致,但通过工具验证(如mint validate和broken-links)可缓解。

对用户:文档内容更新,提供更完整和准确的信息(如扩散模型支持、硬件平台指南),改善使用体验。对系统:无运行时影响,仅静态文档和配置变更,不涉及核心代码。对团队:通过pre-commit钩子引导贡献者使用新版文档,减少维护负担,确保迁移平滑,并统一文档贡献流程。

重定向规则风险 pre-commit 误报

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论