跳至主要內容

搜尋

·閱讀時間 5 分鐘

Electron 網站有一個新的搜尋引擎,可立即提供 API 文件、教學課程、與 Electron 相關的 npm 套件等結果。

Electron Search Screenshot


學習像 Electron 這樣的新技術或框架可能會讓人感到害怕。一旦您通過快速入門階段,您可能會很難學習最佳實務、找到正確的 API 或發現可幫助您建置夢想應用程式的工具。我們希望 Electron 網站成為一個更好的工具,讓您能夠更快更輕鬆地找到建置應用程式所需的資源。

瀏覽 electronjs.org 上的任何頁面,您都會在頁面頂端找到新的搜尋輸入框。

搜尋引擎

當我們首次著手為網站新增搜尋功能時,我們使用 GraphQL 作為後端,自行開發了搜尋引擎。GraphQL 使用起來很有趣,而且搜尋引擎效能良好,但我們很快就意識到建置搜尋引擎並不是一件小事。像是多字詞搜尋和錯字偵測之類的功能需要投入大量工作才能做得正確。我們決定使用現有的搜尋解決方案:Algolia,而不是重新發明輪子。

Algolia 是一種託管搜尋服務,它已迅速成為 React、Vue、Bootstrap、Yarn 等熱門開放原始碼專案以及許多其他專案的首選搜尋引擎。

以下是一些讓 Algolia 非常適合 Electron 專案的功能

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 新增了現有的應用程式清單。

嘗試搜尋 musichomebrew

篩選結果

如果您之前使用過 GitHub 的程式碼搜尋,您可能已經知道它以冒號分隔的鍵值篩選器,例如 extension:jsuser:defunkt。我們認為這種篩選技術非常強大,因此我們在 Electron 的搜尋中新增了 is: 關鍵字,讓您可以篩選結果,只顯示單一類型

鍵盤導覽

大家喜歡鍵盤快捷鍵!新的搜尋功能可以在不將手指離開鍵盤的情況下使用

  • / 將焦點放在搜尋輸入框
  • esc 將焦點放在搜尋輸入框並清除內容
  • down 移動到下一個結果
  • up 移動到上一個結果,或搜尋輸入框
  • enter 開啟結果

我們也開源了啟用此鍵盤互動的模組。它設計用於 Algolia InstantSearch,但已通用化,以實現與不同搜尋實作的相容性。

我們需要您的回饋

如果您在使用新的搜尋工具時遇到任何問題,我們想聽取您的意見!

提交回饋的最佳方式是在 GitHub 上於適當的儲存庫中提出 issue

感謝

特別感謝 Emily JordanVanessa Yuen 建立這些新的搜尋功能、感謝 Libraries.io 提供 SourceRank 分數,以及感謝 Algolia 團隊幫助我們開始。 🍹