Meta 的開源團隊最近發布了 Docusaurus 3.9,這是對其流行的基於 React 的靜態站點生成器的重要更新。
其新版本於 9 月 25 日宣布引入了一項重要的新功能:人工智能驅動的搜索助手。
除了新功能之外,更新還實現了底層技術的現代化,要求開發人員使用 Node.js 20 並終止對舊版 Node.js 18 的支持。
人工智能驅動的對話式搜索 DocSearch v4
對於維護大規模文檔的開發人員來說,Docusaurus 3.9 中最突出的功能是完全支持 Algolia 的 DocSearch v4。
此次升級引入了 AskAI,該功能可將網站的標準搜索欄轉變為對話助手。
該工具不僅匹配關鍵字,還提供綜合答案,幫助用戶 更有效地解決問題。
根據 Docusaurus 團隊的說法,目標是“讓您在 Docusaurus 網站上添加人工智能驅動的搜索助手,該助手可以根據文檔中的內容以對話式體驗回答問題。”
從關鍵字檢索到對話式答案的轉變標誌著技術文檔用戶體驗的重大演變。
這種高級搜索的實現是可選的, 團隊控製過渡。項目維護人員可以選擇保留 DocSearch v3 或逐步升級以解鎖新的 AI 功能。
對於那些準備採用它的人來說,Algolia 提供了一個可訪問的入口點。其官方定價頁面詳細介紹了免費的“構建”層,包括每月 10,000 個搜索請求,使該功能適用於開源項目和小型團隊。
這種集成反映了更廣泛的行業趨勢,即將生成式 AI 直接嵌入到開發者平台中以提高生產力 並減少用戶摩擦。
基礎現代化:現在需要 Node.js 20
為了提高安全性和性能,Docusaurus 3.9 將其最低運行時要求提高到 Node.js v20.0,正式放棄對 Node.js 18 的支持。
由於 Node.js 18 已正式終止生命週期,它不再收到安全更新,因此繼續使用它會成為潛在的漏洞。
Docusaurus 團隊將這一強制升級視為維護安全穩定平台的關鍵一步。
“放棄 在次要版本上發布 Node.js 的生命週期結束版本是 Node.js 生態系統中的常見做法,我們現在正式認可並記錄我們的發布流程。”
雖然此決定是最佳實踐,但它需要開發團隊採取行動。它最直接的影響是對 CI/CD 管道和本地開發環境。
GitHub 上出現了一個實際示例,其中開發人員提出了一個問題,指出 GitHub Actions 的官方文檔示例仍然指向已棄用的 Node 18,需要更新才能正常運行。
團隊不僅需要審核其構建腳本,還需要審核其 Dockerfile 和本地環境管理器,以確保平穩過渡並避免構建失敗。
增強全球文檔站點的靈活性
為了解決多語言站點長期存在的挑戰,Docusaurus 3.9 引入了重大改進 到 國際化 (i18n) 系統。
開發人員現在可以使用新的“i18n.localeConfigs[locale]”字段單獨覆蓋每個區域設置的“baseUrl”和“url”屬性。
它提供了複雜的多域部署所需的精細控制,例如,在“docs.example.com”託管英語文檔,在 “docs.example.fr”,同時確保所有元數據和鏈接正確解析。
進一步的 i18n 優化包括一個新的“translate”標誌,現在默認情況下對於沒有翻譯的網站禁用該標誌,通過避免不必要的文件系統讀取來縮短構建時間。
此外,可以為側邊欄項目分配一個新的“key”屬性。添加此鍵 當多個類別共享相同標籤(例如“API”)時,可以防止翻譯鍵衝突,確保每個實例都可以根據其在文檔結構中的上下文進行唯一翻譯。
圖表、性能和開發人員體驗的關鍵升級
除了主要功能之外,Docusaurus 3.9 還捆綁了許多其他有價值的改進。
其中包括 支持 Mermaid ELK 佈局算法。 Mermaid 是一種流行的從文本創建圖表的工具,其 ELK 佈局引擎提供了更複雜的渲染功能,這對於大型或複雜的系統架構圖特別有用。
升級到Rspack 1.5後,性能也得到了提升,利用新的配置選項來加快 Docusaurus 的構建時間。更快的構建直接意味著更高的開發人員生產力,尤其是在大型項目中。
其他值得注意的內容 更改包括用於處理損壞的 Markdown 鏈接的新掛鉤、禁用表情符號渲染的功能以及在顏色模式之間切換時提高視覺穩定性。
這些集體改進鞏固了 Docusaurus 作為構建現代文檔網站的強大、高性能和靈活平台的地位。