1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年11月15日 |
---|
#32 in #key-bindings
165KB
2K SLoC
webkitten
Webkitten是一个受luakit和Vim启发的命令驱动型网络浏览器工具包。
Webkitten允许您
- 无鼠标操作(几乎)浏览网页
- 按需或由事件触发运行浏览器交互的定制脚本
- 编辑可读的配置文件
- 将键盘快捷键分配给您的定制脚本
- 使用自定义CSS和JavaScript修改网页
- 根据您访问的网站创建自定义浏览模式
- 自定义您的内容拦截器
运行参考实现
除了工具之外,Webkitten还包括两个浏览器界面的参考实现
- webkitten-cocoa:带有Lua脚本功能的Cocoa WebKit实现
- webkitten-gtk:[WIP] 带有Lua脚本功能的WebKit2 GTK+3实现
使用make run来运行您平台的默认实现,并查看用户指南以及contrib目录中的启动配置的命令。使用make install将二进制文件安装到您的PATH.
构建您自己的浏览器
使用webkitten工具包需要实现ui模块,并使用ui::ApplicationUI的实现启动应用程序
// Create runtime configuration let run_config = RunConfiguration { path: path_to_config_toml, start_pages: vec!["https://example.com"] }; // Create engine let engine = Engine::new(run_config); // Create UI let mut ui = MyCustomUI::new(engine); // Go go go ui.run();
然后UI应该通知事件处理器当发生事件时,例如在命令栏中按下Return键或网页加载失败。只要满足此合同,脚本引擎就可以自动化与UI的交互,使其易于自定义。
虽然名为"webkitten",但新的UI绑定不一定是WebKit-based,尽管绑定是在考虑WebKit的情况下设计的。
依赖项
~3MB
~80K SLoC