検索
Electron Webサイトには、APIドキュメント、チュートリアル、Electron関連のnpmパッケージなど、即座に結果を提供する新しい検索エンジンがあります。
Electronのような新しいテクノロジーやフレームワークを学ぶのは、気が引けるかもしれません。クイックスタートフェーズを過ぎると、ベストプラクティスを学んだり、適切なAPIを見つけたり、夢のアプリを構築するのに役立つツールを発見したりするのが難しくなることがあります。Electron Webサイトが、アプリをより速く、より簡単に構築するために必要なリソースを見つけるためのより良いツールになることを願っています。
electronjs.orgのどのページにも、ページの上部に新しい検索入力があります。
検索エンジン
Webサイトに検索機能を追加する際に、最初にバックエンドとしてGraphQLを使用して独自の検索エンジンをロールしました。GraphQLは楽しく使用でき、検索エンジンはパフォーマンスが高かったのですが、すぐに検索エンジンの構築は簡単な作業ではないことに気づきました。複数語検索や誤字脱字の検出などの作業を正しく行うには、多くの作業が必要です。車輪の再発明ではなく、既存の検索ソリューションであるAlgoliaを使用することにしました。
Algoliaは、React、Vue、Bootstrap、Yarnなどの一般的なオープンソースプロジェクトや、その他多数の間で、すぐに選ばれる検索エンジンになったホスト型の検索サービスです。
AlgoliaがElectronプロジェクトに適しているいくつかの機能を以下に示します。
- InstantSearch.jsは、入力すると通常1ms程度で結果を提供します。
- 誤字脱字耐性とは、
widnow
と入力した場合でも結果が得られることを意味します。 - 高度なクエリ構文により、
"正確な引用符付きの一致"
および-除外
が可能になります。 - APIクライアントは、オープンソースで十分に文書化されています。
- 分析では、人々が最も検索しているものや、検索しても見つからないものがわかります。これにより、Electronのドキュメントを改善する方法に関する貴重な洞察が得られます。
- Algoliaは、オープンソースプロジェクト向けに無料です。
APIドキュメント
何を達成したいかは分かっていても、具体的にどのようにすればよいか分からない場合があります。Electronには、750を超えるAPIメソッド、イベント、プロパティがあります。人間がそれらすべてを簡単に覚えることはできませんが、コンピューターはこの種のことを得意としています。ElectronのJSON APIドキュメントを使用して、このすべてのデータをAlgoliaにインデックス化しました。これで、探しているAPIを簡単に見つけることができます。
ウィンドウのサイズを変更しようとしていますか?resize
を検索して、必要なメソッドに直接ジャンプします。
チュートリアル
Electronには、APIドキュメントを補完するためのチュートリアルのコレクションが常に増え続けています。これで、関連するAPIドキュメントと並んで、特定のトピックに関するチュートリアルをより簡単に見つけることができます。
セキュリティのベストプラクティスをお探しですか?security
を検索してください。
npmパッケージ
npmレジストリには700,000を超えるパッケージがあり、必要なパッケージを常に見つけるのが簡単ではありません。これらのモジュールを見つけやすくするために、Electronで特に使用するために構築されたレジストリ内の3400以上のモジュールのコレクションであるelectron-npm-packages
を作成しました。
Libraries.ioのメンバーは、コード、コミュニティ、ドキュメント、使用法などのメトリックの組み合わせに基づいてソフトウェアプロジェクトをスコアリングするシステムであるSourceRankを作成しました。npmレジストリ内のすべてのモジュールのスコアを含むsourceranks
モジュールを作成し、これらのスコアを使用してパッケージの結果をソートします。
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氏、SourceRankスコアを提供してくれたLibraries.io、そして、始めるのを手伝ってくれたAlgoliaのチームに、特別な感謝を申し上げます。 🍹