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.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-Expressions 教學(內部審閱)
- Maps 和 Sets 指南(狀態:草擬)
- 基本資料類型指南(狀態:草擬)
- 觀看 TheVimeagen 的「學習 OCaml 第 1 部分」和「學習 OCaml 第 2 部分」。隨後,使安裝頁面上如何啟用 opam 執行個體變得更清楚 -- ocaml/ocaml.org#1390
- 整合審閱的回饋
- 包含 @gmevel 對 Seq 教學的校對 ocaml/ocaml.org#1376
- 其他文件改進
- 對現有 Labels 教學進行行編輯 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 的重新導向。目前正在處理中的分支位於 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 改善了 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
- Voodoo 輸出格式已更新,將 README/LICENSE/CHANGELOG 列為
- 錯誤修復和雜項改進
- @AshineFoster 使 ocaml.org 在開發期間可以離線運行 -- ocaml.org#1366
- OCaml 變更日誌不再是實驗性的 -- ocaml.org#1369
- 解決了 OCaml 變更日誌標籤的溢位問題 -- 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
例行檢查。