5.6 KiB
中文 | English
Pake
Features
🏂 Small:Nearly 40 times smaller than the Electron shell package, less than 3M (Data).
😂 Fast:Using the Rust Tauri, the performance experience is much lighter and faster than JS, memory is much smaller.
🩴 Special:Not just packaged, with universal shortcut pass-through, immersive windows, drag-and-drop, packaged style compatibility.
🐶 Toy:Just a very simple little toy, a way to play with Rust instead of the old idea of shelling the web.
Shortcuts
command + [:Return to the previous pagecommand + ]:Go to the next pagecommand + ↑:Auto scroll to top of pagecommand + ↓:Auto scroll to bottom of pagecommand + r:Refresh Pagecommand + w:Hide window, not quitecommand + -:ZoomOut Pagecommand + =:ZoomIn Pagecommand + 0:Reset Page zoom
In addition, it supports double clicking the head to switch to full screen, and dragging the head to move the window
Effects
| WeRead Download | Flomo Download |
![]() |
![]() |
| RunCode Download | Witeboard Download |
![]() |
![]() |
| ToolsFun Download | Vercel Download |
![]() |
![]() |
More common apps can be downloaded from Release.
Development
Refer to the Tauri documentation to quickly configure your environment before you start, if you want to package Windows or Linux systems, you can refer to Building Documentation.
// Install Dependencies
npm i
// Local development
npm run dev
// Pack
npm run build
New pack
- Modify the
tauri.conf.jsonin thesrc-tauridirectory to include 5 fieldsurl, productName, icon, title, identifier, icon can be selected from theiconsdirectory or downloaded from macOSicons to match the product. - For window property settings, you can modify the
width/heightof thewindowsproperty intauri.conf.json, whether it isfullscreen, whether it isresizable, if you are not good at adapting immersive headers, you can settransparenttotrueand you're done. npm run devfor local debugging, and open the devtools comments inmain.rs(search for_devtools) for container debugging.npm run buildcan be run to package, if you have devtools mode open, remember to comment it out.
Advanced
How do I rewrite the style, e.g. to remove ads from the original site, or even redesign it?
- first open devtools debug mode, find the name of the style you want to change and verify the effect in devtools first.
- find the location of the style in
pake.jswithstyle.innerHTMLand add the style you need to override, there are some examples you can copy. - Remember to remove the devtools comments before packaging.
How to inject js code, e.g. to implement event listeners, e.g. keyboard shortcuts?
- Same preparation as in case 1 above.
- refer to the event listener in
pake.jswithdocument.addEventListener, and write it directly, it's more of a basic front-end technique here.
How to communicate with Pake about events in containers, such as dragging and dropping, scrolling, special clicks on the Web, etc.?
- the same preparation as in 1 above.
- refer to the communication code in
pake.jswithpostMessage, write the event listener and then usewindow.ipc.postMessageto pass the event and its parameters. - then refer to the container to receive events
window.drag_windowand handle them yourself, for more information, refer to tauri and wry's official documentation.
Contributors
Finally
- I hope that you will enjoy playing with it and let me know if you have any new ideas.
- If you find a page that would be great for a Mac App, please let me know and I'll add it to the list.






