Skip to content

fix: 给报告新增目录 - #94

Open
openjiuwen-sync-bot[bot] wants to merge 1 commit into
openJiuwen-ai:devfrom
openjiuwenai:sync/pr-355
Open

fix: 给报告新增目录#94
openjiuwen-sync-bot[bot] wants to merge 1 commit into
openJiuwen-ai:devfrom
openjiuwenai:sync/pr-355

Conversation

@openjiuwen-sync-bot

@openjiuwen-sync-bot openjiuwen-sync-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

Paired: GitHub #94GitCode !355

/kind bug

Self-checklist:(请自检,在[ ]内打上x,我们将检视你的完成情况,否则会导致pr无法合入

    • 设计:PR对应的方案是否已经经过Maintainer评审,方案检视意见是否均已答复并完成方案修改
    • 测试:PR中的代码是否已有UT/ST测试用例进行充分的覆盖,新增测试用例是否随本PR一并上库或已经上库
    • 验证:PR描述信息中是否已包含对该PR对应的Feature、Refactor、Bugfix的预期目标达成情况的详细验证结果描述
    • 接口:是否涉及对外接口变更,相应变更已得到接口评审组织的通过,API对应的注释信息已经刷新正确
    • 文档:是否涉及官网文档修改,如果涉及请及时提交资料到Doc仓

本次改动为最终报告增加可点击目录:
在标题与摘要之间生成目录,仅收录正文真实一级章节。
为章节添加稳定 HTML 锚点,支持点击目录跳转。
支持中英文。
附上演示结果图
屏幕截图 2026-08-13 184947.png

Linked Closing Issues:

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 67e5ea82f76f8a943e16fd0ab86875413061f204

变更摘要

本次改动主要为最终报告新增可点击目录:在报告标题与摘要之间生成目录,仅收录正文真实的一级章节,并为各章节插入稳定的 HTML 锚点以支持点击跳转,同时支持中英文标题。核心实现位于 Reporter 中新增的 _build_table_of_contents_extract_level_one_headings_add_table_of_contents_anchors 三个静态方法,并配套新增了目录标题配置与相关测试用例。

主要改动

  • 目录构建逻辑: 新增 Reporter._build_table_of_contents(),从正文中提取一级标题并生成形如 - [章节标题](#chapter-N) 的 Markdown 目录条目,无一级标题时仅返回目录标题。
  • 一级标题提取逻辑: 新增 Reporter._extract_level_one_headings(),按行解析 Markdown H1 标题,并忽略围栏代码块(如 ``` 与 ~~~)内的伪标题,同时去除行尾的 # 标记。
  • 锚点插入逻辑: 新增 Reporter._add_table_of_contents_anchors(),在每章 H1 标题前插入 <a id="chapter-N"></a> 锚点,并先清理已有锚点以保证幂等。
  • 报告组装流程调整: 在 Reporter 生成报告内容时,先对正文添加锚点、再构建目录,并将目录插入到标题之后、摘要之前,替代原先直接使用 sub_reports_content 的方式。
  • 目录标题配置: 在 report_utils.pyArticlePart.titles 中新增 toc 键,分别提供中文 # 目录 与英文 # Table of Contents 标题。
  • 测试覆盖: 在 test_general_report.py 中新增目录与锚点相关测试,并新增 test_outline_toc_test_script.py 验证大纲报告的目录、锚点及代码块伪标题过滤逻辑。

@openjiuwen-collaboration-bot

openjiuwen-collaboration-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

head_sha: 67e5ea82f76f8a943e16fd0ab86875413061f204

代码审查

✅ 未发现问题

@openjiuwen-collaboration-bot

Copy link
Copy Markdown

head_sha: 67e5ea82f76f8a943e16fd0ab86875413061f204

任务名称 结果 日志操作
静态检查 ✅SUCCESS 点此跳转
禁用词扫描 N/A N/A
防投毒检查 ✅SUCCESS 点此跳转
开源合规检查 ✅SUCCESS 点此跳转
UT测试 ✅SUCCESS 点此跳转
ST测试 N/A N/A
build 编译包 N/A N/A
ruff codecheck ✅SUCCESS N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants