/Pake

🤱🏻 Simply make any web page a desktop application using Rust. 🤱🏻 很简单的用 Rust 打包网页生成很小的桌面 App

Primary LanguageRustMIT LicenseMIT

中文 | English

Pake

twitter telegram GitHub downloads GitHub commit GitHub closed issues
很简单的用 Rust 打包网页生成很小的桌面 App,支持 Mac / Windows / Linux 系统,常用包下载、命令行一键打包定制开发 可见下面文档,也欢迎去 讨论区 交流。

特征

🏂 :相比传统的 Electron 套壳打包,要小将近 40 倍,不到 3M。
😂 :Pake 的底层使用的 Rust Tauri 框架,性能体验较 JS 框架要轻快不少,内存小很多。
🩴 :不是单纯打包,实现了快捷键的透传、沉浸式的窗口、拖动、样式改写、去广告、产品的极简风格定制。
🐶 :只是一个很简单的小玩具,用 Rust 替代之前套壳网页打包的老思路,其实 PWA 也很好。

常用包下载

WeRead Mac Windows Linux Twitter Mac Windows Linux
LiZhi Mac Windows Linux YouTube Mac Windows Linux
Qwerty Mac Windows Linux Reference Mac Windows Linux
Library Mac Windows Linux ChatGPT Mac Windows Linux
🏂 更多应用如 Flomo / 语雀 / RunCode 可去 Release下载,此外点击可展开快捷键说明
Mac Windows/Linux 功能
+ [ Ctrl + 返回上一个页面
+ ] Ctrl + 去下一个页面
+ Ctrl + 自动滚动到页面顶部
+ Ctrl + 自动滚动到页面底部
+ r Ctrl + r 刷新页面
+ w Ctrl + w 隐藏窗口,非退出
+ - Ctrl + - 缩小页面
+ + Ctrl + + 放大页面
+ = Ctrl + = 放大页面
+ 0 Ctrl + 0 重置页面缩放

此外还支持双击头部进行全屏切换,拖拽头部进行移动窗口,Mac 用户支持手势方式返回和去下一页,还有其他需求,欢迎提过来。

开始之前

  1. 小白用户:使用 「常用包下载」 方式来把玩 Pake 的能力,可去 讨论群 寻求帮助,也可试试 Action 方式。
  2. 开发用户:使用 「命令行一键打包」,对 Mac 比较友好,Windows / Linux 需折腾下 环境配置
  3. 折腾用户:假如你前端和 Rust 都会,那可试试下面的 「定制开发」,可深度二次开发定制你的功能。

命令行一键打包



Pake 提供了命令行工具,可以更快捷方便地一键自定义打你需要的包,详细可见 文档

// 使用 npm 进行安装
npm install -g pake-cli

// 命令使用
pake url [options]

// 随便玩玩,首次由于安装环境会有些慢,后面就快了
pake https://weekly.tw93.fun --name Weekly --transparent

假如你不太会使用命令行,或许使用 GitHub Actions 在线编译多系统版本 是一个不错的选择,可查看 文档

定制开发

开始前请确保电脑已经安装了 Rust >=1.63 和 Node >=16 如 16.18.1 的环境,此外需参考 Tauri 文档 快速配置好环境才可以开始使用,假如你太不懂,使用上面的命令行打包会更加合适。

// 安装依赖
npm i

// 本地开发
npm run dev

// 本地调试
npm run dev:debug

// 打包应用
npm run build

高级使用

  1. 代码结构可参考 文档,便于你在开发前了解更多。
  2. 修改 src-tauri 目录下的 tauri.conf.json以及 tauri.xxx.conf.json 中的 url、productName、icon、identifier 这 4 个字段,其中 icon 可以从 icons 目录选择一个,也可以去 macOSicons 下载符合效果的。
  3. 关于窗口属性设置,可以在 tauri.conf.json 修改 windows 属性对应的 width/height,fullscreen 是否全屏,resizable 是否可以调整大小,假如想适配 Mac 沉浸式头部,可以将 transparent 设置成 true,找到 Header 元素加一个 padding-top 样式即可,不想适配改成 false 也行。
  4. 此外样式改写、屏蔽广告、逻辑代码注入、容器消息通信、自定义快捷键可见 高级用法

开发者

Pake 的发展离不开这些 Hacker 们,一起贡献了大量能力,也欢迎关注他们 ❤️

tw93
Tw93
Tlntin
Tlntin
pan93412
Pan93412
wanghanzhen
Volare
liby
Bryan Lee
essesoul
Essesoul
m1911star
Horus
AielloChan
Aiello
QingZ11
Steam
2nthony
2nthony
nekomeowww
Ayaka Neko
turkyden
Dengju Deng
Fechin
Fechin
princemaple
Po Chen
houhoz
Hyzhao
liusishan
Liusishan
piaoyidage
Ranger

支持

  1. 我有两只猫,一只叫汤圆,一只叫可乐,假如觉得 Pake 让你生活更美好,可以给汤圆可乐 喂罐头 🥩🍤
  2. 如果你喜欢 Pake,可以在 Github Star,更欢迎 推荐 给你志同道合的朋友使用。
  3. 可以关注我的 Twitter 获取到最新的 Pake 更新消息,也欢迎加入 Telegram 聊天群。
  4. 希望大伙玩的过程中有一种学习新技术的喜悦感,假如你发现有很适合做成桌面 App 的网页也很欢迎告诉我。