搜尋
Electron 網站推出全新搜尋引擎,可即時提供 API 文件、教學課程、與 Electron 相關的 npm 套件等搜尋結果。
學習像 Electron 這樣的新技術或框架可能會讓人感到卻步。一旦您度過快速入門階段,學習最佳實務、找到正確的 API 或發現能協助您打造夢想應用程式的工具可能會變得困難。我們希望 Electron 網站能成為更棒的工具,協助您更快速、更輕鬆地找到建置應用程式所需的資源。
造訪 electronjs.org 上的任何頁面,您都會在頁面頂端找到全新的搜尋輸入框。
搜尋引擎
當我們最初著手為網站新增搜尋功能時,我們曾使用 GraphQL 作為後端,自行打造搜尋引擎。GraphQL 用起來很有趣,搜尋引擎效能也很出色,但我們很快就意識到,建置搜尋引擎並非易事。多字詞搜尋和錯字偵測等功能需要大量心力才能完善。我們決定採用現有的搜尋解決方案 Algolia,而非重新造輪子。
Algolia 是一種託管式搜尋服務,已迅速成為 React、Vue、Bootstrap、Yarn 和許多其他熱門開源專案的首選搜尋引擎。
以下列出 Algolia 之所以非常適合 Electron 專案的一些功能
- InstantSearch.js 可在您輸入時即時提供搜尋結果,通常只需約 1 毫秒。
- 錯字容忍度表示即使您輸入
widnow
,仍能獲得搜尋結果。 - 進階查詢語法支援
"exact quoted matches"
和-exclusion
。 - API 用戶端為開源且文件完善。
- 分析功能可告知我們使用者最常搜尋的內容,以及他們搜尋不到的內容。這將為我們提供寶貴的洞察,了解如何改進 Electron 的文件。
- Algolia 對開源專案免費。
API 文件
有時您知道想要完成什麼,但不知道確切的做法。Electron 擁有超過 750 種 API 方法、事件和屬性。沒有人能輕易記住所有這些,但電腦很擅長處理這類事情。我們使用 Electron 的 JSON API 文件,將所有這些資料編入 Algolia 索引,現在您可以輕鬆找到您正在尋找的確切 API。
想要調整視窗大小嗎?搜尋 resize
,然後直接跳到您需要的方法。
教學課程
Electron 擁有不斷增長的教學課程,以補充其 API 文件。現在您可以更輕鬆地找到關於特定主題的教學課程,以及相關的 API 文件。
正在尋找安全性最佳實務嗎?搜尋 security
。
npm 套件
npm 登錄檔中現在有超過 70 萬個套件,而且並不總是容易找到您需要的套件。為了讓您更輕鬆地探索這些模組,我們建立了 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 是 Node.js 用戶端,用於將資料上傳至 Algolia 伺服器。
感謝
特別感謝 Emily Jordan 和 Vanessa Yuen 建置這些新的搜尋功能、Libraries.io 提供 SourceRank 分數,以及 Algolia 團隊協助我們入門。🍹