diff --git a/README.md b/README.md index e803bf9..decad85 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

Pake

-
很简单的用 Rust 打包网页生成很小的 Mac App,底层使用 Tauri,支持微信读书、Twitter、Youtube、Reference、RunCode、Witeboard、Flomo、语雀、Vercel、V2EX、工具箱等,详细小白开发教程可见底部。
+
很简单的用 Rust 打包网页生成很小的 Mac App,底层使用 Tauri,支持微信读书、Twitter、Youtube、Reference、RunCode、Google Translate、Witeboard、Flomo、语雀、Vercel、V2EX、工具箱等,详细小白开发教程可见底部。

## 特征 @@ -33,11 +33,11 @@ RunCode Download - Witeboard Download + Google Translate Download - + Flomo Download diff --git a/README_EN.md b/README_EN.md index b9d0016..0b215f9 100644 --- a/README_EN.md +++ b/README_EN.md @@ -2,7 +2,7 @@

Pake

-
A simple way to package a web page with Rust to create Mac App, using Tauri as underlying layer, supporting WeRead、Twitter、Youtube、Reference、Flomo、Witeboard、YuQue、RunCode、Vercel、V2EX、Tools, detailed development tutorial can be seen at the bottom.
+
A simple way to package a web page with Rust to create Mac App, using Tauri as underlying layer, supporting WeRead、Twitter、Youtube、Google Translate、Reference、Flomo、Witeboard、YuQue、RunCode、Vercel、V2EX、Tools, detailed development tutorial can be seen at the bottom.

## Features @@ -33,11 +33,11 @@ RunCode Download - Witeboard Download + Google Translate Download - + Flomo Download diff --git a/package.json b/package.json index 26ff7b1..e67338a 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,9 @@ }, "license": "MIT", "dependencies": { - "@tauri-apps/api": "^1.0.2" + "@tauri-apps/api": "^1.2.0" }, "devDependencies": { - "@tauri-apps/cli": "^1.0.2" + "@tauri-apps/cli": "^1.2.0" } } diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index f43d405..490ae72 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -62,7 +62,7 @@ dependencies = [ "tauri", "tauri-build", "tauri-utils", - "wry", + "wry 0.21.1", ] [[package]] @@ -218,12 +218,11 @@ dependencies = [ [[package]] name = "cargo_toml" -version = "0.11.5" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5809dd3e6444651fd1cdd3dbec71eca438c439a0fcc8081674a14da0afe50185" +checksum = "aa0e3586af56b3bfa51fca452bd56e8dbbbd5d8d81cbf0b7e4e35b695b537eb8" dependencies = [ "serde", - "serde_derive", "toml", ] @@ -588,6 +587,12 @@ dependencies = [ "dtoa", ] +[[package]] +name = "dunce" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" + [[package]] name = "embed_plist" version = "1.2.2" @@ -1240,6 +1245,20 @@ dependencies = [ "walkdir", ] +[[package]] +name = "jni" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + [[package]] name = "jni-sys" version = "0.3.0" @@ -1756,9 +1775,9 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" @@ -2301,18 +2320,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -2321,9 +2340,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ "itoa 1.0.2", "ryu", @@ -2612,7 +2631,7 @@ dependencies = [ "gtk", "image", "instant", - "jni", + "jni 0.19.0", "lazy_static", "libc", "log", @@ -2628,7 +2647,53 @@ dependencies = [ "scopeguard", "serde", "unicode-segmentation", - "uuid 1.1.2", + "uuid 1.2.1", + "windows 0.39.0", + "windows-implement", + "x11-dl", +] + +[[package]] +name = "tao" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3732f018e98c1df9d26c12892750b04b49e044ccdc01f2596a7f887569ad8c31" +dependencies = [ + "bitflags", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys", + "gtk", + "image", + "instant", + "jni 0.20.0", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "paste", + "png 0.17.5", + "raw-window-handle", + "scopeguard", + "serde", + "unicode-segmentation", + "uuid 1.2.1", "windows 0.39.0", "windows-implement", "x11-dl", @@ -2647,9 +2712,9 @@ dependencies = [ [[package]] name = "tauri" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbf22abd61d95ca9b2becd77f9db4c093892f73e8a07d21d8b0b2bf71a7bcea" +checksum = "ac135e45c2923bd91edbb95a0d656f8d025389697e34d6d79166952bfa79c61c" dependencies = [ "anyhow", "attohttpc", @@ -2692,7 +2757,7 @@ dependencies = [ "thiserror", "tokio", "url", - "uuid 1.1.2", + "uuid 1.2.1", "webkit2gtk", "webview2-com", "windows 0.39.0", @@ -2700,9 +2765,9 @@ dependencies = [ [[package]] name = "tauri-build" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0991fb306849897439dbd4a72e4cbed2413e2eb26cb4b3ba220b94edba8b4b88" +checksum = "ef796f49abc98e6de0abe1b655120addc9d82363d8fc2304e71a4177c25e783c" dependencies = [ "anyhow", "cargo_toml", @@ -2716,9 +2781,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356fa253e40ae4d6ff02075011f2f2bb4066f5c9d8c1e16ca6912d7b75903ba6" +checksum = "afcb77cf7bfe3d8f886e73a7fa6157587d015c599671180b76595c1aef175ba8" dependencies = [ "base64", "brotli", @@ -2736,15 +2801,15 @@ dependencies = [ "tauri-utils", "thiserror", "time", - "uuid 1.1.2", + "uuid 1.2.1", "walkdir", ] [[package]] name = "tauri-macros" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6051fd6940ddb22af452340d03c66a3e2f5d72e0788d4081d91e31528ccdc4d" +checksum = "f24f481b0b2acfc288ac78755f00ebea53992c7365a165af64cb5ae00806edea" dependencies = [ "heck 0.4.0", "proc-macro2", @@ -2756,30 +2821,29 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49439a5ea47f474572b854972f42eda2e02a470be5ca9609cc83bb66945abe2" +checksum = "5fc5d54c476defa5436e70e0d0a06e3cb0f49b6f863895995d5e3769411769cf" dependencies = [ "gtk", "http", "http-range", - "infer", "rand 0.8.5", "raw-window-handle", "serde", "serde_json", "tauri-utils", "thiserror", - "uuid 1.1.2", + "uuid 1.2.1", "webview2-com", "windows 0.39.0", ] [[package]] name = "tauri-runtime-wry" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dce920995fd49907aa9bea7249ed1771454f11f7611924c920a1f75fb614d4" +checksum = "d78c55091701426c2519c7e9f1dc2dd33e533af4e75eae89cedc6995409351a2" dependencies = [ "cocoa", "gtk", @@ -2788,24 +2852,25 @@ dependencies = [ "raw-window-handle", "tauri-runtime", "tauri-utils", - "uuid 1.1.2", + "uuid 1.2.1", "webkit2gtk", "webview2-com", "windows 0.39.0", - "wry", + "wry 0.22.0", ] [[package]] name = "tauri-utils" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8fdae6f29cef959809a3c3afef510c5b715a446a597ab8b791497585363f39" +checksum = "d64c9a09ba1538b8e67ae8c78c10904f36ce38d364bf7f089ec807032a826b02" dependencies = [ "brotli", "ctor", "glob", "heck 0.4.0", "html5ever", + "infer", "json-patch", "kuchiki", "memchr", @@ -3036,9 +3101,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" [[package]] name = "url" @@ -3066,9 +3131,9 @@ checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" [[package]] name = "uuid" -version = "1.1.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" dependencies = [ "getrandom 0.2.7", ] @@ -3204,9 +3269,9 @@ dependencies = [ [[package]] name = "webkit2gtk" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29952969fb5e10fe834a52eb29ad0814ccdfd8387159b0933edf1344a1c9cdcc" +checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" dependencies = [ "bitflags", "cairo-rs", @@ -3562,7 +3627,45 @@ dependencies = [ "serde", "serde_json", "sha2", - "tao", + "tao 0.14.0", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "wry" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d297b203eae65b095af16c02978b7932be1968012b4da7138390edf34dea5" +dependencies = [ + "base64", + "block", + "cocoa", + "core-graphics", + "crossbeam-channel", + "dunce", + "gdk", + "gio", + "glib", + "gtk", + "html5ever", + "http", + "kuchiki", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sha2", + "soup2", + "tao 0.15.2", "thiserror", "url", "webkit2gtk", diff --git a/src-tauri/icons/translate.icns b/src-tauri/icons/translate.icns new file mode 100644 index 0000000..7231fc4 Binary files /dev/null and b/src-tauri/icons/translate.icns differ diff --git a/src-tauri/src/pake.js b/src-tauri/src/pake.js index ca1b9d7..6216658 100644 --- a/src-tauri/src/pake.js +++ b/src-tauri/src/pake.js @@ -1,17 +1,9 @@ /** * @typedef {string} KeyboardKey `event.key` 的代号, * 见 - */ - -/** * @typedef {() => void} OnKeyDown 使用者按下 ⌘ [KeyboardKey] 时应该执行的行为 - */ - -/** * 以 Meta 键 (⌘) 为首的快捷键清单。 - * * 每个写在这里的 shortcuts 都会运行 {@link Event.preventDefault}. - * * @type {Record} */ const metaKeyShortcuts = { @@ -28,16 +20,6 @@ const metaKeyShortcuts = { window.addEventListener('DOMContentLoaded', (_event) => { const style = document.createElement('style'); style.innerHTML = ` - // mini twitter 代码存到 dist 下面,为了防止干扰,需要的时候 copy 过来即可 - - .panel.give_me .nav_view { - top: 154px !important; - } - - .columns .column #header{ - padding-top: 30px; - } - #page .main_header, #ReactApp .lark .main-wrapper > div, #ReactApp .lark .sidebar-user-info, .explore-wrapper .yuque-header-wrapper { padding-top: 20px; } @@ -59,6 +41,14 @@ window.addEventListener('DOMContentLoaded', (_event) => { display: none !important; } + .panel.give_me .nav_view { + top: 154px !important; + } + + .columns .column #header{ + padding-top: 30px; + } + ytd-masthead>#container.style-scope.ytd-masthead { padding-top: 12px !important; }