Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
🤱🏻 很简单的用 Rust 打包网页生成很小的桌面 App 🤱🏻 A simple way to make any web page a desktop application using Rust.
中文 | English
🏂 小:相比传统的 Electron 套壳打包,要小将近 40 倍,不到 3M
😂 快:Pake 的底层使用的 Rust Tauri 框架,性能体验较 JS 框架要轻快不少,内存小很多
🩴 特:不是单纯打包,实现了快捷键的透传、沉浸式的窗口、拖动、样式改写、去广告、产品的极简风格定制
🐶 玩:只是一个很简单的小玩具,用 Rust 替代之前套壳网页打包的老思路,其实 PWA 也很好
WeRead Mac Linux Windows | Twitter Mac Linux Windows |
YouTube Mac Linux Windows | Reference Mac Linux Windows |
Code Mac Linux Windows | Qwerty Mac Linux Windows |
Flomo Mac Linux Windows | YuQue Mac Linux Windows |
注意:Windows 下不能安装到 C:\Program File
,会直接闪退,建议安装到其他非管理员权限目录,比如 D:\Program Files (x86)
。
对于轻度使用用户,使用 GitHub Actions 在线编译多系统版本 也是一个不错的选择,可查看文档。
Pake 提供了命令行工具,可以更快捷方便地一键自定义打你需要的包,详细可见 文档。
// 使用 npm 进行安装
npm install -g pake-cli
// 命令使用
pake url [options]
// 随便玩玩,首次由于安装环境会有些慢,后面就快了
pake https://weekly.tw93.fun --name Weekly --transparent
Mac | Windows/Linux | 功能 |
---|---|---|
⌘ + [ | Ctrl + ← | 返回上一个页面 |
⌘ + ] | Ctrl + → | 去下一个页面 |
⌘ + ↑ | Ctrl + ↑ | 自动滚动到页面顶部 |
⌘ + ↓ | Ctrl + ↓ | 自动滚动到页面底部 |
⌘ + r | Ctrl + r | 刷新页面 |
⌘ + w | Ctrl + w | 隐藏窗口,非退出 |
⌘ + - | Ctrl + - | 缩小页面 |
⌘ + + | Ctrl + + | 放大页面 |
⌘ + = | Ctrl + = | 放大页面 |
⌘ + 0 | Ctrl + 0 | 重置页面缩放 |
此外还支持双击头部进行全屏切换,拖拽头部进行移动窗口,还有其他需求,欢迎提过来。
开始前参考 Tauri 快速配置好环境。
// 安装依赖
npm i
// 调试
npm run dev
// 打包应用
npm run build:release
src-tauri
目录下的 tauri.conf.json
中的 url、productName、icon、identifier
这 4 个字段,其中 icon 可以从 icons 目录选择一个,也可以去 macOSicons 下载符合产品名称的tauri.conf.json
修改 windows
属性对应的 width/height
,是否全屏 fullscreen
,是否可以调整大小 resizable
,假如想适配 Mac 沉浸式头部,可以将 transparent
设置成 true
,找到 Header 元素加一个 padding-top
样式即可,不想适配改成 false
也行npm run dev
本地调试看看效果,此外可以使用 npm run dev:debug
进行容器调试npm run build
运行即可打生产包首先需要使用 npm run dev:debug
打开 devtools 调试模式,找到你需要修改的样式名称,先在 devtools 里面验证效果;找到 pake.js
中样式位置 style.innerHTML
,将需要覆盖的样式加上即可,有一些案例你可以模仿。
参考 pake.js
中事件监听 document.addEventListener
,直接编写即可,这里更多是基础前端的技术。
参考 pake.js
中通信代码 postMessage
,写好事件监听,然后用 window.ipc.postMessage
将事件以及参数传递出来,然后参考容器接收事件 window.drag_window
,自己处理即可,更多可以参考 tauri 以及 wry 的官方文档。
Pake 的发展离不开这些 Hacker 们,一起贡献了大量能力,也欢迎关注他们 ❤️
Tw93 |
Tlntin |
Pan93412 |
Volare |
Essesoul |
Bryan Lee |
Horus |
Steam |
2nthony |
Aiello |
Hyzhao |
Liusishan |
Ranger |
FAQs
🤱🏻 Turn any webpage into a desktop app with Rust. 🤱🏻 利用 Rust 轻松构建轻量级多端桌面应用。
The npm package pake-cli receives a total of 1,244 weekly downloads. As such, pake-cli popularity was classified as popular.
We found that pake-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.