Skip to content

CleverOnion/PopCard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PopCard - 极简桌面卡片应用

🚀 采用 Tauri 打造的轻量级 Windows 桌面快速笔记应用,Google Material Design 风格设计。

🎯 快速开始

立即运行

  1. 开发模式:双击 run.bat (推荐)
  2. 构建 EXE:双击 build.bat

⏱️ 首次运行需要 3-5 分钟编译 Rust,后续启动 <1 秒

核心快捷键

  • Ctrl+Shift+Space - 显示/隐藏主窗口
  • Ctrl+Shift+N - 创建新卡片
  • Ctrl + 鼠标滚轮 - 调整字体
  • 右键拖动 - 移动窗口
  • 拖动边缘 - 调整大小

✨ 特性

  • 🎨 精美设计 - Google Material Design 风格界面
  • 🪟 多窗口支持 - 一个进程管理多个独立卡片窗口
  • 原生性能 - Rust + WebView2,丝滑流畅零闪烁
  • 📦 超小体积 - 打包后仅 ~5MB
  • ⌨️ 丰富快捷键 - 高效的键盘操作体验
  • 💾 内存保存 - 每个卡片内容独立保存在内存中
  • 🌐 中英文支持 - 一键切换界面语言
  • 🔤 等宽字体 - 优先使用 JetBrains Mono 字体

🚀 快速开始

环境要求

  • Node.js (已检测到 v22.19.0) ✅
  • Rust (已检测到 1.87.0) ✅
  • Windows 10/11

开发模式(推荐用于测试)

run.bat

⏱️ 注意:首次运行会编译 Rust 依赖,需要 3-5 分钟。后续启动极快(<1 秒)。

构建 EXE(用于分发)

build.bat

生成的 exe 位于:src-tauri\target\release\popcard.exe

⌨️ 快捷键 & 操作

窗口管理

操作 功能
Ctrl+Shift+Space 显示/隐藏主窗口
Ctrl+Shift+N 创建新卡片窗口
F1 显示帮助(开发中)
Esc 隐藏当前窗口

字体调整

操作 功能
Ctrl + 鼠标滚轮 ⭐ 调整字体大小
Ctrl + / Ctrl = 增大字体
Ctrl - 减小字体
Ctrl 0 重置字体大小

窗口操作

操作 功能
右键拖动 ⭐ 移动窗口位置
拖动窗口边缘/角 ⭐ 调整窗口大小
拖动顶部栏 移动窗口位置

界面

操作 功能
点击 中/EN 切换语言
点击 +/- 调整字体
点击 关闭窗口

🎨 设计特色

Material Design 配色

  • Google Blue (#1a73e8) 作为主色调
  • 简洁的灰度系统
  • 柔和的阴影效果
  • 流畅的悬停动画

字体优先级

  1. JetBrains Mono(推荐安装)
  2. Consolas
  3. Courier New

界面特点

  • 无边框窗口设计
  • 完美的焦点高亮
  • 可拖动调整大小
  • 控件永不闪烁
  • 清晰的视觉层次

🪟 多窗口架构

PopCard 采用单进程多窗口架构:

  • 一个 exe 进程作为管理器
  • 可创建多个独立的卡片窗口(Ctrl+Shift+N
  • 每个卡片独立管理内容
  • 窗口之间互不干扰
  • 关闭单个窗口不影响其他窗口

💡 使用场景

  • 多任务记录 - 为不同项目创建独立卡片
  • 临时想法 - 快速记录灵感
  • 代码片段 - 暂存代码和命令
  • 会议笔记 - 实时记录要点
  • 待办草稿 - 临时任务列表
  • 并行工作 - 多个卡片同时使用

🔧 技术栈

  • 后端 - Rust + Tauri 2.3
  • 前端 - HTML5 + CSS3 + Vanilla JavaScript
  • 窗口 - WebView2 (Windows 自带)
  • 快捷键 - tauri-plugin-global-shortcut

⚡ 性能优势

相比传统的 Electron 或 Python GUI:

指标 PopCard (Tauri) 传统方案
启动时间 <100ms ~1s
内存占用 ~30MB ~150MB
包体大小 ~5MB ~40-100MB
CPU 占用 <0.1% ~2%
调整大小 完美流畅 有闪烁
字体渲染 优秀 一般

📋 项目结构

PopCard/
├── index.html              # 主界面
├── styles.css              # 样式表
├── main.js                 # 前端逻辑
├── package.json            # npm 配置
├── src-tauri/              # Tauri 后端
│   ├── Cargo.toml          # Rust 依赖
│   ├── tauri.conf.json     # Tauri 配置
│   ├── build.rs            # 构建脚本
│   └── src/main.rs         # Rust 主程序
├── run.bat                 # 开发运行
└── build.bat               # 构建 EXE

📝 注意事项

  • 内容仅保存在内存中,关闭程序后会丢失
  • 隐藏卡片时内容会保留
  • 窗口始终置顶显示
  • 需要管理员权限使用全局快捷键
  • 最小窗口尺寸:300x200 像素

🛠️ 开发说明

首次运行

首次运行 run.bat 会:

  1. 下载 Rust 依赖包(需要网络)
  2. 编译所有依赖(需要 3-5 分钟)
  3. 启动应用

后续运行

编译完成后,再次运行会非常快(<1 秒),因为只需要检查代码变化。

调试

开发模式下会自动打开浏览器开发者工具(按 F12),可以:

  • 查看控制台日志
  • 调试 JavaScript
  • 检查 CSS 样式
  • 实时修改代码

热重载

修改 HTML/CSS/JS 文件后,Tauri 会自动重新加载,无需重启。

💡 推荐配置

安装 JetBrains Mono 字体

访问:https://www.jetbrains.com/lp/mono/

下载安装后,字体渲染效果会更好。

开机自启动(可选)

popcard.exe 快捷方式放到:

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

以管理员身份运行

右键 exe 文件 → "以管理员身份运行"

这样全局快捷键才能在任何应用上方工作。

🎯 使用技巧

  1. 快速记录

    • Ctrl+Shift+Space 唤出卡片
    • 输入内容
    • Esc 隐藏(内容保留)
  2. 多任务管理

    • 为不同任务创建不同卡片(Ctrl+Shift+N
    • 每个卡片独立管理
    • 可以自由调整位置和大小
  3. 字体调整

    • 按住 Ctrl 滚动鼠标滚轮
    • 或点击右上角 +/- 按钮
    • 实时预览效果
  4. 语言切换

    • 点击右上角 中/EN 按钮
    • 所有打开的窗口同步切换

🐛 故障排除

问题:首次运行卡在 "Blocking waiting for file lock"

原因:Cargo 包缓存被锁定

解决方案

  1. 关闭所有终端窗口
  2. 等待 30 秒
  3. 重新运行 run.bat

问题:编译失败

可能原因

  • 网络问题(无法下载 Rust 包)
  • Rust 版本过低(需要 >= 1.70)

解决方案

  1. 检查网络连接
  2. 更新 Rust:rustup update
  3. 清理并重试:cd src-tauri && cargo clean && cd .. && run.bat

问题:全局快捷键不工作

解决方案:以管理员身份运行程序

📄 License

MIT License


🎉 项目亮点

原生性能 - 丝滑流畅,零闪烁
轻量体积 - 仅 5MB,秒启动
现代技术 - Rust + Web,最佳组合
完美体验 - 调整大小、字体渲染、焦点效果都无可挑剔

享受原生级别的桌面笔记体验! 🎊

About

PopCard is a lightweight, beautifully designed Windows desktop app for quick notes. Built with Tauri and Rust for native performance and tiny bundle size, it follows Google Material Design principles and supports multi-window workflows, global shortcuts, and bilingual UI (Chinese/English).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors