OCaml.org 電子報:2023 年 7 月

歡迎來到 OCaml.org 電子報 2023 年 7 月份版本!如同先前的版本,本次更新由 @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 的重新導向。目前正在處理中的分支位於 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 改善了 OCaml Playground 的版面配置,並由 @StonedHesus 進行審閱
  • @just-max 修正了 OCaml Playground 上程式碼共用的問題
  • @AshineFoster 更新了開發設定,使其能夠在沒有網際網路連線的情況下執行網站。
  • @theteachr 為首頁貢獻了錯字修正。
  • @brandoncc 為「您的 OCaml 初體驗」教學貢獻了錯字修正

非常感謝本月的所有貢獻者!很高興看到越來越多的人為網站做出貢獻!

相關的 PR 和活動

  • OCaml Playground
    • @contificate 解決了 Playground 底部列的版面配置問題,並在不同瀏覽器中徹底測試,並由 @StonedHesus 審閱 -- 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
  • 錯誤修復和雜項改進