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/ocaml.org#1429

2. OCaml 文档

我们还继续进行新的文档内容的工作。由于我们已经经历过几次新页面的生命周期,因此我们的结构更加完善。每个新页面都将经历以下步骤:大纲批准、起草、内部审查,最后是社区审查。我们有两个处于最终阶段(社区审查)的新页面,分别是文件操作教程和数组指南。它们应该在接下来的几周内准备合并。我们还有一个全新的入门教程,旨在取代现有的“与 OCaml 的第一天”。它目前处于内部审查阶段,应该很快在 Discuss 上分享以供社区审查。

此外,我们还有很多正在起草阶段的内容。

敬请关注,我们将分享更多新文档页面以供社区审查!

相关 PR 和活动

3. 准备将 opam 文档迁移到 OCaml.org

集中式包文档的下一步是提供关键 OCaml 包的文档,包括 OCaml 手册和平台工具文档。这需要对 odoc 进行大量工作,以消除阻止项目从当前文档生成器迁移到 odoc 的障碍。作为中间步骤,我们将把 opam 文档迁移到 OCaml.org 的学习区域,以便我们可以退休 opam.ocaml.org 的前端,并将所有流量重定向到 ocaml.org。

我们本月一直在朝着这些目标努力。您可以在 此 PR 中跟踪我们的进度。

相关 PR 和活动

  • ocaml/opam
  • 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

JavaScript 顶层

为了始终如一地改善学习体验,我们正在探索如何为所有 OCaml 包(即与 JavaScript 兼容的那些包)生成 JavaScript 顶层。

这将启用一些非常方便的新功能

  • 从 OCaml Playground 加载 OCaml 包:以启用使用任何与 JavaScript 兼容的包。这对于与初学者共享代码片段非常方便,目前仅限于使用标准库。
  • 集中式文档中的 OCaml 包的顶层:在浏览文档时生成顶层。
  • 每个代码块的交互式顶层:这包括包含代码示例的 OCaml 包,以及学习区域中的每个代码块和练习。您将能够直接从浏览器运行代码、编辑代码、再次运行代码并检查结果。每个文档页面都变成了一个 Jupyter 笔记本!

我们对这带来的改善学习体验的可能性感到非常兴奋。请告诉我们您的想法,并关注我们探索的最新进展!

相关 PR 和活动

一般改进

本月,我们迎来了 4 位新贡献者

  • @contificate@StonedHesus 合作,在 @StonedHesus 的审查下,改进了 OCaml Playground 的布局
  • @just-max 修复了 OCaml Playground 上代码共享的问题
  • @AshineFoster 更新了开发设置,以便能够在没有互联网连接的情况下运行网站。
  • @theteachr 为首页贡献了一个拼写错误修复。
  • @brandoncc 为与 OCaml 的第一天教程贡献了一个拼写错误修复

非常感谢本月的所有贡献者!看到越来越多的人为网站做出贡献真是太好了!

相关 PR 和活动