Skip to content

一些功能与内容方面的建议 #201

@cheekyshibe

Description

@cheekyshibe

近期在 rCore-Tutorial-Book-v3 的知识海洋中徜徉,收获颇丰。感谢各位作者的辛勤付出,目前就阅读体验而言给出几点建议:

  1. 目前 utterance 评论一旦内容过多,则在相应章节所占页面高度比例超过 1/3 ,已经对阅读体验有所影响,尽管在侧边栏 Sidebar 中已经提供了 TOC, 但该部件在 iPad 等平板阅读设备中是隐藏的,想要翻页则不得不下滑到页面底部或者打开左侧的导航栏,体验并不是很流畅。目前想到的可能的改进思路是使用带 Collapse 或 Dropdown 功能的 Sphinx 样式插件(如 Sphinx Design / Sphinx Collapse),或使用原始的 HTML 语法,默认将评论区隐藏。
  2. GitHub 不久前开放了 Discussion 的 API, 对于 Issue 和 Discussion, 本人更倾向于将更多作为讨论性质的内容放在文档页面底部,而关于项目本身的 Issue 和 Feature Request 等等类型,似乎无在 Issue 中展示之必要。另 Discussion 功能能够方便管理员对一些内容进行更好的分区与管理,例如将一些过时的讨论(比如相关讨论部分由于文档更新已经不再出现在相应章节,或内容已经进行大幅修改,致使其他读者在参考时摸不着头脑)权重降低或转移板块。相应第三方插件有 Giscus. 能直观看到的好处是:能直接在楼层中看到对应的回复,而传统的 Issue 需要 @id + > 的形式,定位起来是较为困难的。
  3. 不知贵组目前如何解决 rCore-Tutorial-Book-v3 与 rCore-Tutorial-v3 的版本控制与内容同步问题?例如 RustSBI 中一些接口已转为 Legay 封装,在文档中展示的用法并不同步,如 使用 RustSBI 提供的服务 一节,与 https://github.com/rcore-os/rCore-Tutorial-v3/blob/d88cd38d69502180b6d880f1c9dea96893d54819/os/src/sbi.rs#L1 所展示的内容已有差异,致使读者不清楚何处为最佳实践;若要同步,又引入了很高的维护成本。这也是为何大部分项目习惯将文档放在自身的 docs/ 下而不做单独分离的原因,MegEngine 文档是通过严格控制 Release 版本号的一致性来保证文档内容的对应。
  4. 最后一点是关乎写作的讨论,很高兴能看到国内有如此用心的教学内容产物,但在阅读过程中也发现了几点异样感,这些感觉与我曾经写出 MegEngine 文档得到的用户反馈较为类似,随着作者们投入心力的增加与内容的增多,一个项目中难免出现画风差异,不妨也用软件工程的角度来思考如何维护一个规模日渐膨胀的文档,故也给出一些参考经验,核心想法可在 MegEngine 文档风格指南 窥得,rCore-Tutorial-Book 出现纯文字篇幅较长之章节时,读者的阅读欲望便大大降低,关键在于阅读大批干货的过程中注意力容易难以控制的流失,需有合理的组织之法... 若为翻转课堂教学服务,可能需要适时地插入视频等其它直观性、交互式更强的内容;版本维护时,或采取类似 UCB CS61a Denero老师的材料组织思路,他会将课程的知识点拆分成多个单元的介绍视频(Video,基本上不超过 10 分钟),在每个学期将这些视频组织成对应 Lecture 的 播放列表,如果新学期引入了新的知识内容就额外录制,否则就用旧学期已经录制好的版本。毕竟完整的课程录像略显啰嗦,而每学期重新录制 MOOCs 视频又不大现实。

悄悄说一句,感觉 Sphinx 用久了就会对它又爱又恨,感觉贵课发展到一定阶段和形态后,一定会有自己的课程网站。

Refs:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions