Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] RTT 文档优化 #9871

Closed
unicornx opened this issue Jan 6, 2025 · 2 comments
Closed

[Feature] RTT 文档优化 #9871

unicornx opened this issue Jan 6, 2025 · 2 comments
Assignees
Labels
Doc This PR/issue related with documents

Comments

@unicornx
Copy link
Contributor

unicornx commented Jan 6, 2025

Describe problem solved by the proposed feature

问题 1:我感觉 RTT 的文档管理分布有点散,目前可以看到存在这么几处无关联的文档中心:

以上列举的这些文档过于分散,有些内容又有重合,我觉得有必要整合起来。我的建议是全部使用 doxygen 管理起来,放在 RTT git 仓库源码下的 documentation 目录下集中维护,包括了内核文档和 API 部分,以及中文和英文一起。完成整合后可以方便地通过 doxygen 技术转化成 html 格式,统一放一份在 internet 的 RTT 官网文档中心上(文档中心以后只要保持和代码仓库的 doxygen 同步即可)。

目前 RTT 仓库下 documentation 下包括了 markdown 形式 和 doxygen 生成 html 两部分工作,研究后觉得可以统一成 doxygen。将 markdown 和 API 部分整合起来,这样英文版本部分,一个 doxygen 搞定,以后部署到互联网上也是一个网址,而不是像现在这样存在两个网址维护。以上是形式上,在内容上,我觉得也有必要将现有 markdown 部分和 代码中的 文档整合起来,这个可以参考 RTEMS 的文档 https://docs.rtems.org/docs/main/c-user.html API 的介绍应该可以加上一些背景介绍(markdown 部分)就更好了,RTEMS 的 API 文档就是类似组织的,每个模块都会包括:

  • Introduction : overview 介绍以及该组件 API 的列表
  • Background:介绍该组件模块的知识背景
  • Operations:介绍 API 的使用案例
  • Directives:具体的 API 描述

基于以上想法,我做了一个简单的 draft demo,参考 https://github.com/unicornx/rt-thread/tree/demo-doxygen,安装 doxygen 后运行 documentation/run.sh 就能生成 html 并运行 python http server,打开浏览器访问 8000 端口即可查看网页效果。

中英文统一维护的好处是可以确保以后对文档的改动可以同步改动,每个 PR 检查中文和英文都要改。一个可参考的例子是
https://github.com/torvalds/linux/tree/master/Documentation/translations 或者 https://github.com/sophgo/sophgo-doc/tree/main/SG200X/TRM。目前gitee 的文档中心中部分 API 内容和 RTT 仓库的 documentation 下的 markdown 英文感觉就是翻译的关系。放在一起维护会比较好。至于具体放在哪里 (gitee or github)还有待商榷。

问题 2:RTT 文档的组织方式改进问题

RTT 文档中心 https://www.rt-thread.org/document/site/#/ 的组织方式建议改进,可以参考 RTEMS 的文档组织:
https://docs.rtems.org/docs/main/
image
不用全部都做,但我觉得需要重点先完善的包括:

  • "Kenerl API guide",即现在 markdown 部分 + doxygen API 部分,同时补充支持 smart 后新增的 kernel API,用于 driver / bsp 开发。
  • "Kernel mode POSIX API guide",对 "Kenerl API guide" 的补充, 仅对 RTT standard 有效, 用于移植 kernel mode 的 application
  • "User mode POSIX API guide",针对 smart, 用于移植 user mode 的 application
  • ”RT-Thread User Manual" 涉及 RTT 的安装,工具使用等等说明,对标 RTEMS User Manual。

Describe your preferred solution

No response

Describe possible alternatives

No response

@unicornx unicornx self-assigned this Jan 6, 2025
@unicornx unicornx added the Doc This PR/issue related with documents label Jan 6, 2025
@unicornx
Copy link
Contributor Author

unicornx commented Jan 7, 2025

针对 问题 1. 会议讨论的结论是:
先统一 RTT 仓库中英文的 markdown 和 code 都采用 doxygen 方式生成统一的 API 文档。

其他工作低优先级待定,包括:

  • 中文的 gitee 仓库内容和 github 英文内容对齐
  • 中文 gitee 仓库合并入 github

针对 问题 2. 这个建议对现有用户习惯影响较大,暂不考虑。

@unicornx
Copy link
Contributor Author

unicornx commented Jan 7, 2025

这个 issue 已经完成历史使命。要做的工作将通过 #9824 继续。

@unicornx unicornx closed this as completed Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Doc This PR/issue related with documents
Projects
None yet
Development

No branches or pull requests

1 participant