Electron 网站有一个新的搜索引擎,可为 API 文档、教程、Electron 相关 npm 包等提供即时结果。

学习像 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 添加了现有的应用列表。
尝试搜索 music
或 homebrew
。
筛选结果
如果你以前使用过 GitHub 的 代码搜索,你可能知道它以冒号分隔的键值过滤器,如 extension:js
或 user:defunkt
。我们认为这种过滤技术非常强大,因此我们在 Electron 的搜索中添加了一个 is:
关键字,让你将结果过滤为仅显示单一类型
键盘导航
人们喜欢键盘快捷键!新的搜索可以在不将手指离开键盘的情况下使用
- / 聚焦搜索输入框
- esc 聚焦搜索输入框并清除它
- down 移动到下一个结果
- up 移动到上一个结果,或搜索输入框
- enter 打开一个结果
我们还开源了 模块,该模块实现了这种键盘交互。它专为与 Algolia InstantSearch 一起使用而设计,但已通用化以实现与不同搜索实现的兼容性。
我们需要你的反馈
如果你在使用新搜索工具时遇到任何问题,我们希望听到你的反馈!
提交反馈的最佳方式是在 GitHub 上在相应的仓库中提交 issue
特别感谢 Emily Jordan 和 Vanessa Yuen 构建这些新的搜索功能,感谢 Libraries.io 提供 SourceRank 分数,并感谢 Algolia 团队帮助我们入门。🍹