Hyper 基于Web 标准的可拓展主题插件

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的Hyper基于开放的 Web 标准的可拓展主题插件。

该项目的目标是为命令行界面用户创建一个美观且可扩展的体验,基于开放的 Web 标准。一开始,我们的重点将主要围绕速度、稳定性和为扩展作者开发正确的 API。

在未来,我们预计社区将提出创新的附加功能,以增强可能是最简单、最强大和经过良好测试的生产力界面。

特性

  • Hyper 是一个基于 Electron 的终端
  • 基于 HTML/CSS/JS
  • 完全可扩展
  • 从命令行安装主题和插件

安装

Linux

Hyper 在AUR中可用。使用 AUR包管理器,例如paru

paru -S hyper

NixOS

Hyper 以Nix 包的形式提供,要安装应用程序,请运行以下命令:

nix-env -i hyper

macOS

通过运行以下命令,使用Homebrew Cask下载应用程序:

brew update
brew install --cask hyper

扩展

扩展在 npm 上可用。

$ npm search hyper

然后编辑$Env:AppData/Hyper/.hyper.js并添加到plugins

module.exports = {

  config: { /*... */ },

  plugins: [
    "hyperpower"
  ]

};

Hyper当您的模块安装到$Env:AppData/Hyper/.hyper_plugins.

键盘映射

所有命令键都可以更改。要更改它们,请编辑并将所需的更改添加到. $Env:AppData/Hyper/.hyper.jskeymaps

然后 Hyper 将使用您的自定义更改更改默认值。

例子:'window:devtools': 'Cmd+Alt+O'

module.exports = {
  config: { /*... */ },

  keymaps: {
    'window:devtools': 'cmd+alt+o'
  }

};

配置

配置位置

macOS

~/Library/Application Support/Hyper/.hyper.js

windows

$Env:AppData/Hyper/.hyper.js

Linux

~/.config/Hyper/.hyper.js

注意: config at~/.hyper.js仍然受支持,但如果应用程序目录中存在 config,将被忽略。否则它将在第一次运行时移动到应用程序目录。

扩展 API

扩展是由 Electron 和渲染器进程加载的通用 Node.js 模块。

扩展系统是围绕我们用于构建终端的 API组合React设计的:组件和操作。 Redux

我们允许您拦截和组合每一个功能,而不是为每个可能的自定义点公开自定义 API 方法或参数!因此,成功扩展所需的唯一知识是其底层开源库的知识。 Hyper

模块加载

用户可以通过按 Command + R(刷新)来热加载和热重新加载插件。不需要完全重新启动应用程序的插件即可工作。

注意

影响 `BrowserWindow` 的插件会影响热重载后的新窗口。

将来我们可能会自动执行此操作。

开发时,可以将插件添加到. 我们加载新插件: $Env:AppData/Hyper/.hyper_plugins/locallocalPlugins .hyper.js

  • 定期(每隔几个小时)
  • 对配置文件进行更改时 (plugins或localPlugins)
  • 当用户单击插件 > 立即更新时

重新加载的过程包括

  • 运行npm prune并npm install在. .hyper_plugins
  • 修剪require.cache电子和渲染器进程
  • 在现有实例上调用on*方法并使用新的装饰重新渲染组件。

示例主题

—END—

开源协议:MIT license

开源地址:https://github.com/vercel/hyper

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章