OCaml.org 新闻: 2023 年 7 月
欢迎来到 2023 年 7 月版的 OCaml.org 新闻!与之前的 版本 一样,本次更新由 @sabine 和 @tmattio 共同整理。
我们的目标是将 OCaml.org 打造成最适合想要入门 OCaml 并高效使用它的任何人的资源网站。OCaml.org 新闻提供了我们朝这个目标前进的进展更新,以及我们正在进行的更改概述。
我们离不开所有帮助我们审查、修改和创建更好 OCaml 文档的优秀 OCaml 社区成员。你们的反馈使我们能够更好地优先考虑工作,并朝着目标前进。感谢你们!
本月,我们的工作重点是
- **学习区域:** 我们正在努力使 OCaml.org 成为学习 OCaml 并发现其生态系统的绝佳资源。本月,我们继续编写新的文档内容,并根据社区反馈进行迭代。我们还最终确定了 Figma 轻量级桌面设计,并开始实施 UI。
- **JavaScript 顶层:** 我们开始探索如何为 OCaml 包生成 JavaScript 顶层,目标是允许用户将包加载到 OCaml Playground 中,并为 OCaml 包区域 添加一个新的顶层功能。最终,我们的目标是让 OCaml.org 上的每个代码块都具有交互性!
- **一般改进:** 与往常一样,我们还根据用户反馈进行了一般维护和改进,并重点介绍了一些工作。
除了我们在网站上的工作之外,我们还引入了团队与社区互动的新方式。我们创建了一个 #ocaml.org Discord 频道,并且开始举办 公开的 OCaml.org 开发者会议。请不要犹豫,在 Discord 上联系我们并参加开发者会议。我们一直在寻找改进事项的新见解!
学习区域
1. 学习区域的重新设计
随着新的学习区域设计即将完成,我们开始实施 UI。如果您在过去几周访问过文档,您可能已经注意到了一些变化。最显着的是用于导航文档不同部分的新标签。
在设计方面,我们现在将重点放在移动视图和暗黑模式上。
相关 PR 和活动
- 继续在 Figma UX/UI 设计 中为新的学习区域进行设计
- 最终确定了浅色主题设计
- 在 Figma 中创建了颜色变体和调色板,旨在与 Figma 到 Tailwind 配置保持一致,并为浅色和暗黑模式颜色建立了命名约定。
- 在 Figma 上设计了各种按钮变体,包括特大、大、小、大幽灵、幽灵和级别标签样式。
- 开始为学习区域实施新的组件
- 标签 - ocaml/ocaml.org#1389
- 教程块 - ocaml/ocaml.org#1387
- 语言手册横幅 - ocaml/ocaml.org#1406
- 技能等级标签 - ocaml/ocaml.org#1427
- 通过部分引入新标签来导航 OCaml 文档 - ocaml/ocaml.org#1429
2. OCaml 文档
我们还继续进行新的文档内容的工作。由于我们已经经历过几次新页面的生命周期,因此我们的结构更加完善。每个新页面都将经历以下步骤:大纲批准、起草、内部审查,最后是社区审查。我们有两个处于最终阶段(社区审查)的新页面,分别是文件操作教程和数组指南。它们应该在接下来的几周内准备合并。我们还有一个全新的入门教程,旨在取代现有的“与 OCaml 的第一天”。它目前处于内部审查阶段,应该很快在 Discuss 上分享以供社区审查。
此外,我们还有很多正在起草阶段的内容。
敬请关注,我们将分享更多新文档页面以供社区审查!
相关 PR 和活动
- 创建了 高级大纲 和 元问题 来跟踪我们的进度。
- 处理新的文档内容
- 文件操作(状态:社区审查)
- 新的数组教程(状态:社区审查)
- OCaml 概述(状态:内部审查)
- S 表达式教程(内部审查)
- 映射和集合指南(状态:起草)
- 基本数据类型指南(状态:起草)
- 观看 TheVimeagen 的 "学习 OCaml 第 1 部分" 和 "学习 OCaml 第 2 部分"。随后,在安装页面上更清楚地说明了如何在安装页面上激活 opam 交换机 - ocaml/ocaml.org#1390
- 结合审查中的反馈
- 包含 @gmevel 对 Seq 教程的校对 - ocaml/ocaml.org#1376
- 其他文档改进
- 对现有标签教程进行行编辑 - ocaml.org#1040
- 将错误处理指南从语言部分移到指南部分 - ocaml.org#1383
- 在 if 语句、循环和递归教程中将示例从 LaTeX 转换为 markdown - ocaml.org#1439
- 在使用 Dune 运行可执行文件和测试教程中将
dune build @runtest
替换为dune runtest
- ocaml.org#1430
3. 准备将 opam 文档迁移到 OCaml.org
集中式包文档的下一步是提供关键 OCaml 包的文档,包括 OCaml 手册和平台工具文档。这需要对 odoc
进行大量工作,以消除阻止项目从当前文档生成器迁移到 odoc
的障碍。作为中间步骤,我们将把 opam 文档迁移到 OCaml.org 的学习区域,以便我们可以退休 opam.ocaml.org 的前端,并将所有流量重定向到 ocaml.org。
我们本月一直在朝着这些目标努力。您可以在 此 PR 中跟踪我们的进度。
相关 PR 和活动
- ocaml/opam
- 将 opam 文档从 opam.ocaml.org 迁移到 ocaml.org - ocaml/ocaml.org#1367
- 使用 YAML 头将 man 页面转换为 Markdown - ocaml/opam#5594
- 更改
doc/pages
中的 Markdown 文件,以便适合在 OCaml.org 上使用 - ocaml/opam#5593
- ocaml-opam/opam2web
- 重新排列
opam2web
以删除所有包信息,仅构建 opam 存档,保留公钥,并在 Caddyfile 中创建从 opam.ocamlorg 到 ocaml.org 的重定向。当前 WIP 分支位于 https://github.com/sabine/opam2web/tree/strip_to_bare_minimum
- 重新排列
- ocaml/ocaml.org
- 为本地博客提供页面和 RSS 提要。这引入了“托管在 OCaml.org 上的博客”的概念。这样,我们可以托管 opam 博客的非变更日志帖子,以便我们可以将
opam.ocaml.org/blog/feed.xml
重定向到ocaml.org/blog/opam/feed.xml
- 为本地博客提供页面和 RSS 提要。这引入了“托管在 OCaml.org 上的博客”的概念。这样,我们可以托管 opam 博客的非变更日志帖子,以便我们可以将
JavaScript 顶层
为了始终如一地改善学习体验,我们正在探索如何为所有 OCaml 包(即与 JavaScript 兼容的那些包)生成 JavaScript 顶层。
这将启用一些非常方便的新功能
- 从 OCaml Playground 加载 OCaml 包:以启用使用任何与 JavaScript 兼容的包。这对于与初学者共享代码片段非常方便,目前仅限于使用标准库。
- 集中式文档中的 OCaml 包的顶层:在浏览文档时生成顶层。
- 每个代码块的交互式顶层:这包括包含代码示例的 OCaml 包,以及学习区域中的每个代码块和练习。您将能够直接从浏览器运行代码、编辑代码、再次运行代码并检查结果。每个文档页面都变成了一个 Jupyter 笔记本!
我们对这带来的改善学习体验的可能性感到非常兴奋。请告诉我们您的想法,并关注我们探索的最新进展!
相关 PR 和活动
- 处理
.cma
、.cmi
和顶层.js
文件 - ocaml-doc/voodoo#114
一般改进
本月,我们迎来了 4 位新贡献者
- @contificate 与 @StonedHesus 合作,在 @StonedHesus 的审查下,改进了 OCaml Playground 的布局
- @just-max 修复了 OCaml Playground 上代码共享的问题
- @AshineFoster 更新了开发设置,以便能够在没有互联网连接的情况下运行网站。
- @theteachr 为首页贡献了一个拼写错误修复。
- @brandoncc 为与 OCaml 的第一天教程贡献了一个拼写错误修复
非常感谢本月的所有贡献者!看到越来越多的人为网站做出贡献真是太好了!
相关 PR 和活动
- OCaml Playground
- @contificate 在 @StonedHesus 的审查下,解决了 playground 底部栏的布局问题,并在不同的浏览器中进行了彻底测试 - ocaml.org#1384
- 由于脚本与 POSIX 不兼容,构建 playground 具有挑战性 - ocaml.org#1456
- @just-max 发现了 Playground 分享按钮生成的 Base64 编码 URL 的问题并进行了修复,确保了向后兼容性 - ocaml.org#1434
- OCaml.org 包文档
- Voodoo 输出格式已更新,将 README/LICENSE/CHANGELOG 列为
status.json
的一部分 - voodoo#68, ocaml.org#1435 - Voodoo 现在包含一个
Voodoo_serialize
模块,用于数据序列化和反序列化 - voodoo#103, ocaml.org#1442 - 文档管道生成工具的编译步骤问题已解决 - voodoo#115
- 如果缺少文档,用户现在会被重定向到最后一个有文档的版本 - ocaml.org#1438
- Voodoo 输出格式已更新,将 README/LICENSE/CHANGELOG 列为
- 错误修复和杂项改进
- @AshineFoster 使 ocaml.org 在开发期间脱机运行 - ocaml.org#1366
- OCaml Changelog 不再是实验性的 - ocaml.org#1369
- 解决了 OCaml Changelog 标签溢出问题 - ocaml.org#1358
- 修复了由于 tailwind 配置更改导致的不可读组件 - ocaml.org#1375, ocaml.org#1377, ocaml.org#1428
- 移动视图中暗模式导航的徽标颜色已更正 - ocaml.org#1385
- 将
odoc
的样式应用于包文档页面 - ocaml.org#1378 - 改进了 CONTRIBUTING.md 指令 - ocaml.org#1365
- 添加了 Be Sport 社交网络成功案例 - ocaml.org#1362
- 发布了“邀请参与 OCaml.org 贡献”新闻条目 - ocaml.org#1363
data/
文件夹中的 URL 现在会定期由tarides/olinkcheck
检查。