Pake
Turn any webpage into a desktop app with Rust with ease.
## Features
- 🎐 Nearly 20 times smaller than an Electron package (around 5M!)
- 🚀 With Rust Tauri, Pake is much more lightweight and faster than JS-based frameworks.
- 📦 Battery-included package — shortcut pass-through, immersive windows, and minimalist customization.
- 🖱️ Smart right-click context menus with download support for images, videos, and files.
- 👻 Pake is just a simple tool — replaces the old bundle approach with Tauri (though PWA is also a good alternative).
## Popular Packages
🏂 You can download more applications from Releases. Click here to expand the shortcuts reference!
| Mac | Windows/Linux | Function |
| --------------------------- | ------------------------------ | ----------------------------- |
| ⌘ + [ | Ctrl + ← | Return to the previous page |
| ⌘ + ] | Ctrl + → | Go to the next page |
| ⌘ + ↑ | Ctrl + ↑ | Auto scroll to top of page |
| ⌘ + ↓ | Ctrl + ↓ | Auto scroll to bottom of page |
| ⌘ + r | Ctrl + r | Refresh Page |
| ⌘ + w | Ctrl + w | Hide window, not quit |
| ⌘ + - | Ctrl + - | Zoom out the page |
| ⌘ + + | Ctrl + + | Zoom in the page |
| ⌘ + = | Ctrl + = | Zoom in the Page |
| ⌘ + 0 | Ctrl + 0 | Reset the page zoom |
In addition, double-click the title bar to switch to full-screen mode. For Mac users, you can also use the gesture to go to the previous or next page and drag the title bar to move the window.
## Before starting
1. **For beginners**: Play with Popular Packages to find out Pake's capabilities, or try to pack your application with [GitHub Actions](docs/github-actions-usage.md). Don't hesitate to reach for assistance at [Discussion](https://github.com/tw93/Pake/discussions)!
2. **For developers**: “Command-Line Packaging” supports macOS fully. For Windows/Linux users, it requires some tinkering. [Configure your environment](https://tauri.app/start/prerequisites/) before getting started.
3. **For hackers**: For people who are good at both front-end development and Rust, how about customizing your apps' function more with the following [Customized Development](#development)?
## Command-Line Packaging

**Pake provides a command line tool, making the flow of package customization quicker and easier. See the [CLI usage guide](docs/cli-usage.md) for more information.**
```bash
# Recommended (pnpm)
pnpm install -g pake-cli
# Alternative (npm)
npm install -g pake-cli
# Command usage
pake url [OPTIONS]...
# Feel free to play with Pake! It might take a while to prepare the environment the first time you launch Pake.
pake https://weekly.tw93.fun --name Weekly --hide-title-bar
```
If you are new to the command line, you can compile packages online with _GitHub Actions_. See our [documentation](#documentation) for detailed guides.
## Development
Prepare your environment before starting. Make sure you have Rust `>=1.89` and Node `>=18` (e.g., `22.11.0`) installed on your computer. _Note: Latest stable versions are recommended._ For installation guidance, see [Tauri documentation](https://tauri.app/start/prerequisites/).
If you are unfamiliar with these, it is better to try out the above tool to pack with one click.
```sh
# Install dependencies
pnpm i
# Local development (right-click to open debug mode)
pnpm run dev
# Build application
pnpm run build
```
## Documentation
- **[CLI Usage](docs/cli-usage.md)** ([中文](docs/cli-usage_CN.md)) - Command-line interface reference
- **[Advanced Usage](docs/advanced-usage.md)** ([中文](docs/advanced-usage_CN.md)) - Customization and advanced features
- **[GitHub Actions](docs/github-actions-usage.md)** ([中文](docs/github-actions-usage_CN.md)) - Build apps online
- **[Contributing](CONTRIBUTING.md)** - How to contribute to development
## Developers
Pake's development can not be without these Hackers. They contributed a lot of capabilities for Pake. Also, welcome to follow them! ❤️
## Support
1. I have two cats, TangYuan and Coke. If you think Pake delights your life, you can feed them some canned food 🥩.
2. If you like Pake, you can star it on GitHub. Also, welcome to [recommend Pake](https://twitter.com/intent/tweet?url=https://github.com/tw93/Pake&text=%23Pake%20-%20A%20simple%20Rust%20packaged%20web%20pages%20to%20generate%20Mac%20App%20tool,%20compared%20to%20traditional%20Electron%20package,%20the%20size%20of%20nearly%2040%20times%20smaller,%20generally%20about%202M,%20the%20underlying%20use%20of%20Tauri,%20performance%20experience%20than%20the%20JS%20framework%20is%20much%20lighter~) to your friends.
3. You can follow my [Twitter](https://twitter.com/HiTw93) to get the latest news of Pake or join our [Telegram](https://t.me/+GclQS9ZnxyI2ODQ1) chat group.
4. I hope that you enjoy playing with it. Let us know if you find a website that would be great for a Mac App!