搜尋
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
,這是專為與 Electron 搭配使用而建置的註冊表中 3400 多個模組的集合。
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 中於適當的儲存庫中提交問題
- electron/electronjs.org 是 Electron 網站。如果您不知道在哪裡提交問題,這是您的最佳選擇。
- electron/algolia-indices 是所有可搜尋的 Electron 資料的編譯位置。
- electron/search-with-your-keyboard 使搜尋介面可透過鍵盤導航。
- algolia/instantsearch.js 是瀏覽器端用戶端,可啟用隨打即找搜尋。
- algolia/algoliasearch-client-javascript 是 Node.js 用戶端,用於將資料上傳到 Algolia 的伺服器。
感謝
特別感謝 Emily Jordan 和 Vanessa Yuen 建置這些新的搜尋功能,感謝 Libraries.io 提供 SourceRank 分數,並感謝 Algolia 團隊協助我們入門。🍹