OCaml.org 新闻简报:2023 年 3 月
欢迎来到 OCaml.org 新闻简报的首期!
我们借鉴了现已停刊的 Multicore 月报和 Compiler 新闻简报的经验,将每月发布一篇新闻简报,介绍我们在 OCaml.org 开发方面取得的进展。
本期新闻简报由 @sabine 和 @tmattio 共同撰写,回顾了我们 3 月份在 OCaml.org 上所做的工作。
我们重点介绍了我们在三个不同领域的努力
- **包文档**: 响应用户反馈,在过去几个月里,我们一直专注于改进包文档区域。今年早些时候,团队进行了一项调查和用户访谈,现在我们即将完成这些改进。
- **学习区域**: 在改进包文档之后,我们开始着手学习区域的改进工作,旨在提升新 OCaml 用户的学习体验,并为初学者和经验丰富的开发人员提供新的文档资源。
- **常规维护**: 我们还进行了常规维护和改进,并将重点介绍其中的一些。
感谢所有参与调查、在 Discuss 上提供反馈以及提交问题和 Pull Request 的社区成员!你们的贡献和反馈使我们能够不断进步,让 OCaml.org 成为学习 OCaml 和探索 OCaml 包的最佳资源!
包文档
当我们开始着手改进包文档导航时,我们联系了 OCaml Discuss 论坛上的社区,对 OCaml.org 上的包和学习区域进行了调查。我们的目的是让我们的新团队成员(一位 UX/UI 设计师)能够快速上手,并对 OCaml.org 做出有意义的贡献。由于社区的积极参与,这种方式证明非常有效,帮助我们识别出了最需要解决的问题。
本月,我们完成了 用户画像,代表不同类型的用户,包括中级开发人员、学生、团队负责人、高级开发人员、学术讲师/研究人员。
我们设计了包部分的 UI 和用户流程,包含两种可能的方案(包括包概述页面、包文档、包搜索结果以及即将推出的包含包所有版本的页面)。您可以在 Figma 上查看这些设计。
我们已经对 Figma 中的设计方案进行了 (低保真) 实现,并取得了不错的进展。我们仍然需要调整一些 UI 元素,以使网站符合设计方案。
相关 PR/问题
- 我们现在 在包概述布局中显示 README/CHANGELOG/LICENSE,而不是在文档布局中显示。这样更能反映它们作为“随包提供的文件”的本质。
- 对 源代码下载按钮和源代码哈希显示进行了改进,提升用户体验。
- 重新排列了包概述页面的布局。这改进了依赖项、标签、描述、发布日期的样式和位置。
- 对 作者/维护者显示进行了改进,以 (1) 如果没有给定用户的头像,则渲染一个自动生成的头像,以及 (2) 使用“显示更多”按钮隐藏过多的作者/维护者。
- 为了便于查找相关的依赖项,我们 将依赖项分为“开发依赖项”和常规依赖项
- 在 将包概述侧边栏移到左侧 之后,包概述页面和包文档页面 统一使用相同的布局
- 我们现在 在包概述页面上渲染目录
学习区域
我们已经开始了探索阶段,正在对 OCaml.org 学习区域的当前内容和结构进行盘点。我们回顾了第一季度针对学习和包区域进行的调查中用户的访谈视频,从中提取了用户的需求和痛点。我们还开始准备一项针对新 OCaml 用户(包括编程新手和经验丰富的开发人员)的调查。在我们发布本期新闻简报时,调查已经完成,我们将在下一期新闻简报中分享调查结果。
改进学习区域将是我们未来几个月的重点工作,因此您将在后续的新闻简报中看到更多关于此方面的更新。
常规维护
面向用户的变更
- README/LICENSE/CHANGELOG 的显示现在使用包概述页面布局,而不是文档布局。
- @YassineHaouzane 在练习部分的问题中添加了练习难度的显示。非常感谢!
- 顶层导航栏中的 包搜索下拉菜单现在支持使用键盘导航搜索结果。
- 当 在包文档页面上使用版本切换下拉菜单时,文档中的当前路径现在将被保留。
- (WIP) 我们在 向社区部分添加一个页面,突出显示 Outreachy 实习项目 方面取得了进展。
- (WIP) 我们在 在包概述页面上公开 check.ocamllabs.io 构建信息 方面取得了进展。
- (WIP) 我们开始着手 添加一个专门的“安装”页面,并与社区合作:Discuss 线程 请改进我关于“安装”页面的草稿。
对 OCaml.org 数据的更新
- 在 OCaml Discuss 论坛上宣布了招聘部分后,团队审查并合并了外部贡献者提交的招聘信息。感谢所有人的参与!
- 已经 添加了 Outreachy 项目的视频,但尚未在专门的页面上公开这些视频。
内部维护、代码健康状况和错误修复
- 对“ood”(OCaml.org 的数据库和数据解析器)的代码进行了重构,以便更多人能够为 OCaml.org 贡献代码。
- 所有指向 (ocaml.org 的子域名) 的内部链接已更改为使用 https,以避免不必要的重定向。
- README/LICENSE/CHANGELOG 文件在 odoc 升级后没有被 OCaml.org 正确识别。现在已经解决了这个问题。
- @voodoos 修复了 OCaml Playground 中无法使用的 Merlin。
- 在部署新的构建时,包信息会不可用约一分钟。现在,已经修复了 问题:当包信息正在重新生成时,包信息不可用 的问题。
- 错误修复:不要在所有版本上都有 avoid-version 的包上崩溃。
- 包面包屑模板现在使用来自 odoc 的面包屑数据:PR: 使用来自 odoc 的面包屑数据。
- 在处理程序函数中引入了短路 404 let-binding 运算符:PR: 在未找到时返回 404。
- 我们一直在遇到 CI 构建错误,因为 CI 使用的是 opam-repository 的最新版本。现在,我们在三个地方固定了 opam-repository:1) Makefile、2) Dockerfile、3) GitHub Actions。
- 版本升级:ocaml 升级至 4.14.1,GitHub Actions 中的 actions/checkout@v3,dune 升级至 3.6。
- 在 #628 中添加了对目标标题的视觉突出显示后,在包文档的标题中,应用了两种针对锚点目标的悬停样式。这个问题已经解决:PR: 移除重复的 doc.css 锚点目标样式,调整悬停样式。
- 从“学习”页面导航到教程时,右侧边栏不会显示。感谢 #1021 和 #1041,侧边栏现在可以与 HTMX 提供的 AJAX 导航正常配合使用。
- 用户报告了字体大小/布局问题。我们 将 Tailwind 基于 px 的断点更改为基于 em 的断点,以尊重用户浏览器和操作系统的字体大小设置。
- (WIP) 正在进行 添加 sitemap.xml 的工作,以帮助搜索引擎索引 OCaml.org 的所有页面。