# x-md **Repository Path**: opsx-tools/x-md ## Basic Information - **Project Name**: x-md - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

X-MD

现代化 Markdown 编辑器
融合双栏实时预览与所见即所得体验

version Electron React TypeScript License Tests

--- > 📸 **截图占位** — 主编辑界面、三种编辑模式、主题切换 ## ✨ 特性 ### 编辑器 - **三种编辑模式** — 源码编辑 / 双栏实时预览 / 所见即所得 (WYSIWYG) - **CodeMirror 6** — 高性能语法高亮,支持 35+ 文件类型、192 种代码语言 - **Tiptap (ProseMirror)** — 所见即所得编辑,支持表格、任务列表、图片 - **Markdown 增强** — GFM、KaTeX 数学公式、Mermaid 图表、Front Matter ### 导出 - 导出为 **HTML / PDF / DOCX / 纯文本** - 复制为 HTML(保留样式) ### 界面 - **Catppuccin 配色主题** — 12 编辑器主题 + 7 预览主题 + 自定义 CSS - **多语言** — 中文 (zh-CN) / 英文 (en-US) / 日文 (ja-JP) - **命令面板** — `⌘+Shift+P` 快速执行任意命令 - **大纲视图** — TOC 侧边栏,快速导航 - **资源管理器** — 文件树 + 右键菜单 + 拖拽操作 - **多标签编辑** — 拖拽排序、关闭已保存、恢复已关闭标签 ### 性能 - **大文件虚拟渲染** — >50KB 自动分节 + IntersectionObserver 延迟加载 - **增量更新** — Markdown 管线缓存 + LRU HTML 结果缓存 - **启动优化** — React.lazy 6 组件 + 主 chunk 294KB(压缩 87%) ### 工程质量 - **108 个测试文件,2057+ 测试用例**,全部通过 - TypeScript 严格模式零错误 - ESLint + Prettier 代码规范 --- ## 🛠 技术栈 | 模块 | 技术 | 说明 | |------|------|------| | 框架 | Electron 36 | 跨平台桌面应用(macOS 优先) | | 构建 | Vite 6 | 极速 HMR,秒级构建 | | 前端 | React 19 + TypeScript 5.8 | 类型安全组件化开发 | | 样式 | Tailwind CSS 4 | 原子化样式,CSS 变量主题系统 | | 源码编辑 | CodeMirror 6 | 高性能代码编辑器 | | WYSIWYG | Tiptap (ProseMirror) | 所见即所得编辑 | | Markdown | Remark + Rehype | 统一 Markdown/HTML 处理管线 | | 数学 | KaTeX | 快速公式渲染 | | 图表 | Mermaid 10 | 流程图/时序图/甘特图 | | 高亮 | highlight.js / lowlight | 代码块语法高亮 | | 状态 | Zustand | 轻量响应式状态管理 | | 打包 | electron-builder | DMG/NSIS/AppImage + 自动更新 | --- ## 🚀 快速开始 ### 环境要求 - **Node.js** ≥ 18 - **npm** ≥ 9 ### 安装依赖 ```bash git clone https://gitee.com/opsx-tools/x-md.git cd x-md npm install ``` ### 开发 ```bash # 启动开发服务器 (Electron + Vite HMR) npm run dev ``` ### 构建 ```bash # 生产构建 npm run build # Electron 打包 (macOS DMG) npm run build:electron ``` ### 测试 ```bash # 运行单元测试 npm run test:unit # 监听模式 npm run test:unit:watch # 覆盖率报告 npm run test:unit:coverage ``` ### 代码质量 ```bash # 类型检查 npm run typecheck # ESLint 检查 npm run lint # ESLint 自动修复 npm run lint:fix # Prettier 格式化 npm run format ``` --- ## 📁 项目结构 ``` x-md/ ├── electron/ # Electron 主进程 │ ├── main/ # 入口、窗口、菜单、IPC、文件系统、更新 │ └── preload/ # 安全桥接 (contextBridge) ├── src/ # 渲染进程 (React) │ ├── components/ # UI 组件 │ │ ├── editor/ # SourceEditor / WysiwygEditor / FindReplace │ │ ├── preview/ # 实时预览面板 / Mermaid 渲染 │ │ ├── sidebar/ # 文件树 / 大纲 / 全局搜索 │ │ ├── tabs/ # 多标签栏 │ │ ├── toolbar/ # 格式工具栏 │ │ ├── commandPalette/ # 命令面板 (cmdk) │ │ ├── settings/ # 设置页面 │ │ └── common/ # 公共 UI 组件 │ ├── features/ # 功能模块 │ │ ├── markdown/ # 格式化工具 │ │ ├── export/ # 导出功能 │ │ ├── search/ # 模糊搜索 │ │ └── settings/ # 设置导入/导出 │ ├── hooks/ # React Hooks │ ├── stores/ # Zustand 状态 (editor/file/theme/ui/settings) │ ├── themes/ # 主题系统 (编辑器/预览/自定义CSS) │ ├── i18n/ # 国际化 (zh-CN / en-US / ja-JP) │ ├── utils/ # 工具函数 │ └── shared/ # IPC 通道 / 命令注册 / 编辑器动作 ├── tests/ # 测试 │ ├── unit/ # 单元测试 (108 文件, 2057+ 用例) │ └── e2e/ # 端到端测试 ├── ROADMAP.md # 开发路线图 └── package.json ``` --- ## 📄 License [MIT](./LICENSE) © X-MD Team ---

Gitee 仓库