2022-11-15 19:27:55 +08:00
2022-11-10 09:54:24 +08:00
2022-11-03 01:18:52 +08:00
2022-11-15 19:27:55 +08:00
2022-10-15 11:46:04 +08:00
2022-11-09 21:08:30 +08:00
2022-11-10 09:48:06 +08:00
2022-11-09 21:07:38 +08:00
2022-11-14 16:40:25 +08:00
2022-11-14 16:37:48 +08:00

中文 | English

Pake

A simple way to package a web page to Mac App, supporting WeRead、Twitter、Youtube、Reference、Flomo、YuQue、Google Translate、Witeboard、RunCode、Vercel、V2EX、DevTools, welcome to Discussions to see if there have anything you interesting.

Features

🏂 SmallNearly 40 times smaller than Electron package, less than 3M.
😂 FastUsing the Rust Tauri, the performance experience is much lighter and faster than JS, memory is much smaller.
🩴 SpecialNot just packaged, with shortcut pass-through, immersive windows, minimalist customization of products.
🐶 ToyJust a very simple little toy, a way to play with Rust instead of the old idea of shelling the web.

Download

WeRead Download Twitter Download
YouTube Download Reference Download
RunCode Download Google Translate Download
Flomo Download YuQue Download

More common apps can be downloaded from Releases.

Shortcuts

  1. + [Return to the previous page
  2. + ]Go to the next page
  3. + Auto scroll to top of page
  4. + Auto scroll to bottom of page
  5. + rRefresh Page
  6. + wHide window, not quite
  7. + -Zoom out the page
  8. + =Zoom in the Page
  9. + 0Reset the page zoom

In addition, it supports double clicking the head to switch to full screen, and dragging the head to move the window

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

  1. Modify the tauri.conf.json in the src-tauri directory to include 5 fields url, productName, icon, title, identifier, icon can be selected from the icons directory or downloaded from macOSicons to match the product.
  2. For window property settings, you can modify the width/height of the windows property in tauri.conf.json, whether it is fullscreen, whether it is resizable, If you want to adapt the immersive header, you can set transparent to true and then find header element and add the padding-top style.
  3. npm run dev for local debugging; npm run dev:debug to open the devtools for container debugging.
  4. npm run build can be run to package for production.

Advanced

1. How do I rewrite the style, e.g. to remove ads from the original site, or even redesign it?

First, open devtools debug mode with npm run dev:debug. After that, find the name of the style you want to change and verify the effect in devtools, and find the location of the style in pake.js with style.innerHTML. Finally, add the style you need to override, there are some examples you can copy.

2. How to inject js code, e.g. to implement event listeners, e.g. keyboard shortcuts?

Refer to the event listener in pake.js with document.addEventListener, and write it directly, it's more of a basic front-end technique here.

3. How to communicate with Pake about events in containers, such as dragging and dropping, scrolling, special clicks on the Web, etc.?

Refer to the communication code in pake.js with postMessage, write the event listener and then use window.ipc.postMessage to pass the event and its parameters, then refer to the container to receive events window.drag_window and handle them yourself, for more information, refer to tauri and wry's official documentation.

Support

  • I have two cats, one is called TangYuan, and one is called Coke, If you think Pake makes your life better, you can give my cats feed canned food 🥩🍤.
  • If you like Pake, you can star it in Github. We are more welcome to recommend Pake to your like-minded friends.
  • You can follow my Twitter to get the latest news of Pake, or join Telegram chat group.

Finally

  1. I hope that you will enjoy playing with it and let me know if you have any new ideas.
  2. 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.
Description
No description provided
Readme MIT 52 MiB
Languages
Rust 91.5%
Dockerfile 8.5%