搜尋
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 上在適當的儲存庫中提出 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 團隊協助我們入門。 🍹