# marknote **Repository Path**: love-coffee-fun/marknote ## Basic Information - **Project Name**: marknote - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MarkNote Markdown 编辑器 | 基于 Electron + Vue 3 ## 简介 MarkNote 是一款功能强大的桌面 Markdown 编辑器,支持实时预览、文件管理、编辑增强等特性。采用 Electron + Vue 3 技术栈构建,提供流畅的编辑体验。 ## 技术栈 - **框架**: Electron + Vue 3 - **编辑器**: CodeMirror 6 - **状态管理**: Pinia - **样式**: Less - **构建工具**: electron-vite ## 功能特性 ### 编辑功能 - **双模式编辑**: 支持编辑模式和预览模式切换 - **实时预览**: Markdown 实时渲染 - **撤销/重做**: 完整的撤销重做功能 - **光标记忆**: 编辑后自动保持光标位置 - **IME 支持**: 完整的输入法支持 ### 文件操作 - **文件树**: 侧边栏显示项目文件结构 - **大纲视图**: 自动提取文档标题生成目录 - **搜索替换**: 支持内容搜索和替换 - **自动保存**: 开启后自动保存文档 ### 格式化 - **块级格式**: 标题、列表、引用、代码块、表格 - **行内格式**: 粗体、斜体、删除线、链接、图片 - **快捷键**: 支持丰富的格式化快捷键 ### 主题系统 - **双主题**: 浅色/深色主题 - **系统跟随**: 可跟随系统主题自动切换 ## 目录结构 ``` marknote/ ├── electron/ # Electron 主进程 │ ├── main.ts # 入口文件 │ ├── preload/index.ts # 预加载脚本 │ └── services/ # 主进程服务 │ └── file-service.ts # 文件服务 ├── src/ # 渲染进程源代码 │ ├── components/ # Vue 组件 │ │ ├── Editor/ # 编辑器组件 │ │ ├── Layout/ # 布局组件 │ │ └── Sidebar/ # 侧边栏组件 │ ├── stores/ # Pinia 状态管理 │ │ ├── editor.ts # 编辑器状态 │ │ ├── file.ts # 文件状态 │ │ └── theme.ts # 主题状态 │ ├── styles/ # 样式文件 │ └── utils/ # 工具函数 └── package.json ``` ## 快速开始 ### 安装依赖 ```bash pnpm install ``` ### 开发模式 ```bash pnpm dev ``` ### 构建应用 ```bash pnpm build ``` ## 快捷键 ### 文件操作 | 快捷键 | 说明 | |--------|------| | Ctrl+O | 打开文件 | | Ctrl+S | 保存文件 | | Ctrl+Shift+S | 另存为 | ### 编辑操作 | 快捷键 | 说明 | |--------|------| | Ctrl+Z | 撤销 | | Ctrl+Y | 重做 | | Ctrl+F | 查找 | | Ctrl+H | 替换 | ### 格式化 | 快捷键 | 说明 | |--------|------| | Ctrl+B | 粗体 | | Ctrl+I | 斜体 | | Ctrl+K | 插入链接 | ### 视图切换 | 快捷键 | 说明 | |--------|------| | Ctrl+Shift+E | 切换编辑/预览 | | Ctrl+B | 切换侧边栏 | ## 数据流 ### 打开文件流程 1. 用户触发打开操作 2. 主进程显示系统文件对话框 3. 读取文件内容 4. 通过 IPC 传递给渲染进程 5. 更新 FileStore 状态 6. 编辑器加载内容 ### 保存文件流程 1. 用户触发保存操作 2. 编辑器内容同步到 EditorStore 3. 通过 IPC 调用主进程保存方法 4. FileService 写入文件 5. 更新文件状态 ## 主题配置 主题系统采用三层架构: - **Core**: 核心 CSS 变量 - **Component**: 组件级样式变量 - **Application**: 应用级主题配置 支持手动切换或跟随系统主题自动切换。 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!