# NodeCard **Repository Path**: moon-mark/NodeCard ## Basic Information - **Project Name**: NodeCard - **Description**: 一个定制的笔记软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-01 - **Last Updated**: 2026-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NodeCar Notes 一个跨平台、资源占用低、界面精致的便笺式桌面笔记应用。打开即写,内容自动保存到本地 SQLite,支持字体、字号、行距、颜色与多主题自定义。 ## 特性 - **便笺式极简编辑**:无边框窗口,打开即写,内容防抖自动保存 - **多笔记管理**:顶部标签页快速切换,主页卡片式浏览全部笔记 - **富文本编辑**:基于 TipTap,支持标题、列表、代码块、引用等 - **高度可定制**:字体 / 字号 / 行距 / 字体颜色自由调节 - **多主题**:内置普通 / 亮色 / 暗色三套主题,支持从外部 JSON 加载自定义主题 - **本地优先**:数据全部存于本地 SQLite,无需联网、无云依赖 - **轻量高性能**:Tauri 复用系统 WebView,安装包小、内存占用低 ## 技术栈 | 层 | 技术 | | --- | --- | | 桌面框架 | Tauri 2 | | 后端 | Rust + rusqlite(bundled SQLite) | | 前端 | Svelte 5 + SvelteKit + TypeScript | | 编辑器 | TipTap 3(ProseMirror 内核) | | 构建 | Vite | ## 环境要求 - Node.js >= 20 - Rust >= 1.88(推荐最新 stable) - Windows:Visual Studio C++ 构建工具 + WebView2 运行时 - 各平台的 Tauri 依赖参见官方文档:https://tauri.app/start/prerequisites/ ## 快速开始 ```bash # 安装前端依赖 npm install # 开发模式(启动应用,支持热更新) npm run tauri dev # 构建发布版本 npm run tauri build ``` ## 常用脚本 ```bash npm run tauri dev # 开发模式运行桌面应用 npm run tauri build # 打包生成安装包 npm run check # Svelte / TypeScript 类型检查 npm run dev # 仅启动前端(浏览器,不含 Tauri 能力) ``` ## 项目结构 ``` nodeCar/ ├── src/ # 前端(Svelte) │ ├── routes/+page.svelte # 主页面:视图切换、笔记编辑、自动保存 │ └── lib/ │ ├── components/ │ │ ├── NoteEditor.svelte # TipTap 编辑器封装 │ │ └── HomeView.svelte # 主页:顶栏 / 侧栏 / 展示栏 / 设置 │ └── settings.svelte.ts # 设置与主题 store,注入 CSS 变量 ├── src-tauri/ # 后端(Rust) │ ├── src/lib.rs # SQLite 数据层、设置与主题命令 │ ├── capabilities/default.json # 窗口权限 │ └── tauri.conf.json # Tauri 配置(无边框窗口等) └── package.json ``` ## 数据与配置 - **笔记数据**:存于系统应用数据目录下的 `notes.sqlite` - **应用设置**:存于同一数据库的 `app_settings` 表 - **主题文件**:存于应用数据目录的 `themes/` 文件夹,首次运行自动生成三套内置主题 ### 自定义主题 在应用数据目录的 `themes/` 文件夹放入一个 JSON 文件(参照 `normal.json` 格式),然后在 `设置 → 主题` 点击"刷新外部主题"即可加载: ```json { "id": "my-theme", "name": "我的主题", "variables": { "--bg": "#1a1b1e", "--surface": "#26272b", "--text": "#e8e6e3", "--accent": "#e0a94a", "--editor-fg": "#e8e6e3" } } ``` ## 许可证 MIT