# markdown-reader **Repository Path**: null_056_1691/markdown-reader ## Basic Information - **Project Name**: markdown-reader - **Description**: 一款windows桌面markdown阅读和编辑工具,全面覆盖日常使用所需功能,并且完全免费 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-30 - **Last Updated**: 2026-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Markdown Reader [![Gitee stars](https://gitee.com/null_056_1691/markdown-reader/badge/star.svg)](https://gitee.com/null_056_1691/markdown-reader/stargazers) [![Gitee forks](https://gitee.com/null_056_1691/markdown-reader/badge/fork.svg)](https://gitee.com/null_056_1691/markdown-reader/members) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) Windows 平台 Markdown 阅读器,基于 Electron + React + TypeScript 开发,支持完整 Markdown 语法、实时预览、主题切换等功能。 ## 目录 - [功能特性](#功能特性) - [截图](#截图) - [安装](#安装) - [使用方式](#使用方式) - [菜单功能](#菜单功能) - [支持的 Markdown 语法](#支持的-markdown-语法) - [技术栈](#技术栈) - [开发指南](#开发指南) - [贡献](#贡献) - [许可证](#许可证) ## 功能特性 ### 编辑器 - ✅ Markdown 编辑器,支持语法高亮 - ✅ 实时预览,支持完整 Markdown 样式 - ✅ 编辑/分屏/预览三种视图模式 - ✅ 分屏模式支持拖动调整比例 - ✅ 编辑器与预览同步滚动 - ✅ 查找和替换 - ✅ 插入图片(支持本地图片) ### 界面 - ✅ 浅色/深色主题切换 - ✅ 大纲视图侧边栏 - ✅ 窗口标题显示当前文件名 - ✅ 文件修改状态指示(红点:未保存,绿点:已保存) ### 文件管理 - ✅ 文件打开/保存/另存为 - ✅ 自动保存功能 - ✅ 双击 Markdown 文件直接打开 - ✅ 关闭时自动提示保存未保存的更改 - ✅ 文件关联(.md, .markdown, .mdown, .mkd) ### 其他 - ✅ 打印支持 - ✅ 数学公式渲染(KaTeX) - ✅ 流程图渲染(Mermaid) ## 截图 ![分屏模式](docs/screenshots/split-mode.png) ![预览模式](docs/screenshots/preview-mode.png) ## 安装 ### 下载预编译版本 1. 前往 [Releases](https://gitee.com/null_056_1691/markdown-reader/releases) 页面 2. 下载最新版本的 `Markdown-Reader-vX.X.X-win-x64.zip` 3. 解压后运行 `Markdown Reader.exe` ### 从源码构建 ```bash # 克隆仓库 git clone https://gitee.com/null_056_1691/markdown-reader.git cd markdown-reader # 安装依赖 npm install # 构建 npm run build:all # 打包便携版 node scripts/pack.js # 打包安装包(需要管理员权限) npm run pack:win ``` ## 使用方式 ### 直接运行 1. 解压 `Markdown-Reader-vX.X.X-win-x64.zip` 2. 运行 `Markdown Reader.exe` ### 开发模式 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 另一个终端启动 Electron npx electron . ``` ### 命令行打开文件 ```powershell .\Markdown Reader.exe "C:\path\to\file.md" ``` ## 菜单功能 ### 文件菜单 | 功能 | 快捷键 | 说明 | |------|--------|------| | 新建 | Ctrl+N | 创建新文件 | | 打开... | Ctrl+O | 打开 Markdown 文件 | | 保存 | Ctrl+S | 保存当前文件 | | 另存为... | Ctrl+Shift+S | 保存为新文件 | | 打印... | Ctrl+P | 打印预览内容 | | 退出 | Alt+F4 | 退出应用 | ### 编辑菜单 | 功能 | 快捷键 | 说明 | |------|--------|------| | 撤销 | Ctrl+Z | 撤销操作 | | 恢复 | Ctrl+Y | 恢复操作 | | 剪切 | Ctrl+X | 剪切选中内容 | | 复制 | Ctrl+C | 复制选中内容 | | 粘贴 | Ctrl+V | 粘贴内容 | | 全选 | Ctrl+A | 全选内容 | | 查找... | Ctrl+F | 查找文本 | | 替换... | Ctrl+H | 替换文本 | | 插入图片... | Ctrl+Shift+I | 插入本地图片 | ### 视图菜单 | 功能 | 快捷键 | 说明 | |------|--------|------| | 编辑模式 | Ctrl+1 | 仅显示编辑器 | | 分屏模式 | Ctrl+2 | 左右分屏显示 | | 预览模式 | Ctrl+3 | 仅显示预览 | | 显示/隐藏侧边栏 | Ctrl+B | 切换大纲侧边栏 | | 浅色主题 | - | 切换到浅色主题 | | 深色主题 | - | 切换到深色主题 | | 切换主题 | Ctrl+Shift+T | 在浅色/深色间切换 | | 开发者工具 | F12 | 打开调试工具 | | 重置缩放 | Ctrl+0 | 恢复默认缩放 | | 放大 | Ctrl+= | 放大显示 | | 缩小 | Ctrl+- | 缩小显示 | | 全屏 | F11 | 进入/退出全屏 | ### 帮助菜单 | 功能 | 说明 | |------|------| | Markdown 语法帮助 | 打开 Markdown 语法指南 | | GitHub Flavored Markdown | 打开 GFM 文档 | | 关于 | 显示版本信息和作者信息 | ## 支持的 Markdown 语法 ### 基础语法 - 标题(h1-h6) - 段落与换行 - **粗体**、*斜体*、***粗斜体*** - 无序列表、有序列表 - 链接(行内式、参考式、自动链接) - 图片(支持本地图片和网络图片) - 引用块 - 行内代码、代码块(围栏式) - 分隔线 - 转义字符 - 内嵌 HTML ### 扩展语法(GFM 等) - ~~删除线~~ - 表格(支持对齐) - 任务列表 - 脚注 - 数学公式(KaTeX):`$E = mc^2$` - 流程图(Mermaid) - 表情符号 :smile: - ==高亮== - 下划线 - 上标 H~2~O、下标 X^2^ - 缩写 - 定义列表 - 键盘按键 Ctrl+C ## 技术栈 | 类别 | 技术 | |------|------| | 框架 | Electron 28 | | UI | React 18 + TypeScript | | 编辑器 | CodeMirror 6 | | Markdown | markdown-it + 插件系统 | | 样式 | Tailwind CSS | | 数学公式 | KaTeX | | 流程图 | Mermaid | | 构建 | Vite | ## 开发指南 ### 项目结构 ``` markdown-reader/ ├── src/ │ ├── main/ # Electron 主进程 │ │ ├── index.ts # 主入口 │ │ ├── ipc.ts # IPC 通信 │ │ ├── menu.ts # 菜单配置 │ │ ├── file.ts # 文件操作 │ │ └── preload.ts # 预加载脚本 │ ├── renderer/ # React 渲染进程 │ │ ├── components/ # React 组件 │ │ ├── hooks/ # 自定义 Hooks │ │ ├── utils/ # 工具函数 │ │ └── App.tsx # 应用入口 │ └── shared/ # 共享类型 ├── public/ # 静态资源 ├── build/ # 构建资源(图标、安装脚本) ├── scripts/ # 构建脚本 ├── docs/ # 文档 ├── dist/ # 构建输出(git 忽略) └── release/ # 打包输出(git 忽略) ``` ### 常用命令 ```bash # 开发 npm run dev # 启动 Vite 开发服务器 npx electron . # 启动 Electron(另一个终端) # 构建 npm run build # 构建渲染进程 npm run build:main # 编译主进程 npm run build:all # 完整构建(测试 + 渲染进程 + 主进程) # 测试 npm test # 运行 Jest 测试 # 打包 node scripts/pack.js # 打包便携版 npm run pack:win # 打包 NSIS 安装包 ``` ### IPC 通信通道 | 通道 | 说明 | |------|------| | `file:open` | 打开文件对话框 | | `file:save` | 保存文件 | | `file:save-as` | 另存为 | | `file:new` | 新建文件 | | `get:config` | 获取配置 | | `open:file-path` | 打开指定路径文件 | | `select:image` | 选择图片文件 | | `update:title` | 更新窗口标题 | | `save:and:close` | 保存并关闭 | | `menu:action` | 菜单操作 | ## 贡献 欢迎贡献!请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 了解如何参与项目。 ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 ## 据说惯例都要阿宝和小微 阿宝 ![alipay.jpg](D:/work/gitee/markdown-reader/public/qrcode/alipay.jpg) 小微 ![wechat.jpg](D:/work/gitee/markdown-reader/public/qrcode/wechat.jpg)