搜尋
Electron 網站有一個新的搜尋引擎,可立即提供 API 文件、教學課程、與 Electron 相關的 npm 套件等結果。
學習像 Electron 這樣的新技術或框架可能會讓人感到害怕。一旦您通過快速入門階段,您可能會很難學習最佳實務、找到正確的 API 或發現可幫助您建置夢想應用程式的工具。我們希望 Electron 網站成為一個更好的工具,讓您能夠更快更輕鬆地找到建置應用程式所需的資源。
瀏覽 electronjs.org 上的任何頁面,您都會在頁面頂端找到新的搜尋輸入框。
搜尋引擎
當我們首次著手為網站新增搜尋功能時,我們使用 GraphQL 作為後端,自行開發了搜尋引擎。GraphQL 使用起來很有趣,而且搜尋引擎效能良好,但我們很快就意識到建置搜尋引擎並不是一件小事。像是多字詞搜尋和錯字偵測之類的功能需要投入大量工作才能做得正確。我們決定使用現有的搜尋解決方案:Algolia,而不是重新發明輪子。
Algolia 是一種託管搜尋服務,它已迅速成為 React、Vue、Bootstrap、Yarn 等熱門開放原始碼專案以及許多其他專案的首選搜尋引擎。
以下是一些讓 Algolia 非常適合 Electron 專案的功能
- InstantSearch.js 會在您輸入時提供結果,通常在 1 毫秒內。
- 錯字容忍表示即使您輸入
widnow
,您仍然會獲得結果。 - 進階查詢語法可啟用
「精確引號比對」
和-排除
。 - API 用戶端是開放原始碼且文件完善。
- 分析會告訴我們人們最常搜尋的內容,以及他們搜尋但沒有找到的內容。這將為我們提供寶貴的見解,讓我們了解如何改進 Electron 的文件。
- Algolia 對於開放原始碼專案是免費的。
API 文件
有時您知道自己想完成什麼,但您不確切知道如何完成。Electron 有超過 750 個 API 方法、事件和屬性。沒有人可以輕易記住所有這些,但電腦很擅長這種事。使用 Electron 的 JSON API 文件,我們在 Algolia 中索引了所有這些資料,現在您可以輕鬆找到您正在尋找的確切 API。
想要調整視窗大小嗎?搜尋 resize
,然後直接跳到您需要的方法。
教學課程
Electron 有越來越多的教學課程,可作為其 API 文件的補充。現在,您可以更輕鬆地找到特定主題的教學課程,以及相關的 API 文件。
正在尋找安全性最佳實務嗎?搜尋 security
。
npm 套件
npm 登錄檔中現在有超過 700,000 個套件,而且並非總是很容易找到您需要的套件。為了讓這些模組更容易被發現,我們建立了一個 electron-npm-packages
,其中包含登錄檔中 3400 多個專為與 Electron 一起使用而建置的模組。
Libraries.io 的人員建立了一個 SourceRank,這是一種根據程式碼、社群、文件和使用情況等指標組合對軟體專案進行評分的系統。我們建立了一個 sourceranks
模組,其中包含 npm 登錄檔中每個模組的分數,我們使用這些分數對套件結果進行排序。
想要替代 Electron 內建 IPC 模組的方案嗎?搜尋 is:package ipc
。
Electron 應用程式
使用 Algolia 索引資料很容易,因此我們從 electron/apps 新增了現有的應用程式清單。
篩選結果
如果您之前使用過 GitHub 的程式碼搜尋,您可能已經知道它以冒號分隔的鍵值篩選器,例如 extension:js
或 user:defunkt
。我們認為這種篩選技術非常強大,因此我們在 Electron 的搜尋中新增了 is:
關鍵字,讓您可以篩選結果,只顯示單一類型
鍵盤導覽
大家喜歡鍵盤快捷鍵!新的搜尋功能可以在不將手指離開鍵盤的情況下使用
- / 將焦點放在搜尋輸入框
- esc 將焦點放在搜尋輸入框並清除內容
- down 移動到下一個結果
- up 移動到上一個結果,或搜尋輸入框
- enter 開啟結果
我們也開源了啟用此鍵盤互動的模組。它設計用於 Algolia InstantSearch,但已通用化,以實現與不同搜尋實作的相容性。
我們需要您的回饋
如果您在使用新的搜尋工具時遇到任何問題,我們想聽取您的意見!
提交回饋的最佳方式是在 GitHub 上於適當的儲存庫中提出 issue
- electron/electronjs.org 是 Electron 網站。如果您不知道在哪裡提出 issue,這是您的最佳選擇。
- electron/algolia-indices 是所有可搜尋的 Electron 資料編譯的地方。
- electron/search-with-your-keyboard 使搜尋介面可透過鍵盤導覽。
- algolia/instantsearch.js 是瀏覽器端的客戶端,可啟用即時搜尋。
- algolia/algoliasearch-client-javascript 是將資料上傳到 Algolia 伺服器的 Node.js 客戶端。
感謝
特別感謝 Emily Jordan 和 Vanessa Yuen 建立這些新的搜尋功能、感謝 Libraries.io 提供 SourceRank 分數,以及感謝 Algolia 團隊幫助我們開始。 🍹