# markdown-edit **Repository Path**: li_dg/markdown-edit ## Basic Information - **Project Name**: markdown-edit - **Description**: No description available - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-21 - **Last Updated**: 2026-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Markdown Edit Markdown Edit(产品代号 FastMark)是使用 Rust、egui/eframe/wgpu 开发的原生跨平台 Markdown 桌面编辑器。项目当前版本为 0.1.118,界面、状态和错误文案已通过稳定语义键从简体中文资源目录加载,便于后续增加语言包;现已提供 Ctrl+滚轮调整正文显示比例(不修改 Markdown 源码或字体设置)、分栏与混合模式本地图片预览(单图像素/解码结果上限、有界后台解码队列、48 MiB CPU 解码缓存、64 MiB GPU 纹理缓存及离屏回收、按设备纹理边长缩小上传图像)、分栏默认按对应源码内容段与预览内容段位置双向同步滚动并可在编辑设置中关闭、异步本地图片导入(独占目标名、不覆盖既有图片)、持久化快捷键(含 Ctrl+, 打开设置、默认/VSCode/Typora 预设与自定义覆盖)与图片保存路径策略、链接插入、Ctrl+T 受预算约束的表格新建、插入后选区恢复、可配置 Ctrl+A 全篇 Unicode 文档选择、Ctrl+点击与 Ctrl+Enter 搜索匹配转选区、多光标 Unicode 批量输入/删除/水平导航/IME 提交及单事务撤销、按选区源码顺序配置起始值/步长/补零宽度/前后缀的递增编号面板、粗体/斜体/删除线/行内代码切换、标题级别/任务列表/无序列表/有序列表/引用等块级格式命令、列表回车自动延续与空项退出、分隔线插入、表格列对齐与单元格清空、矩形 TSV 粘贴及单次撤销、单元格 Esc 取消编辑、Ctrl+K 围栏代码块插入、独立查找与替换命令、源码位置与选区字符统计、表格当前行列操作、混合模式表格原位编辑与代码块组件、点击定位的混合模式行内编辑、底部可点击的三模式切换、可拖动分栏、持久化主题与正文比例设置、视图菜单直达编辑及外观设置、标签右键批量关闭、弹窗卡片与保存/放弃操作层级、中文界面字体回退与输入法提交兼容、异步 Ctrl+O、首次保存和另存为时的图片范围预览及复制/路径重算、应用内移动文档(可直接编辑目标路径,先选图片处理策略并显式预览本地图片文件的去向)、历史库迁移、图片目录、图片导入及 HTML/PDF/SVG 导出原生文件选择、后台文件打开、安全保存、多标签、超限文件只读分段浏览、按需稀疏行索引、行号定位与大文件只读普通文本搜索、超限文档后台会话恢复与只读分流、未保存内容崩溃恢复、最近文件、原生文件监听、后台外部版本差异比较、基础 Markdown 预览、可折叠大纲导航及保存冲突保护。 表格单元格支持 Ctrl+Enter 插入 `
` 换行;源码保留标准 Markdown/HTML 行内标签,混合模式和分栏预览将其显示为单元格内换行。 大文件只读搜索支持当前段内结果高亮,当前结果与其他结果以不同背景区分;关闭搜索栏后恢复普通正文显示,文件内容保持不变。 原型中的独立“帮助”菜单已接入快捷键设置、使用说明、状态与异常说明、关于版本;状态说明会区分现有能力与尚未交付项。 版本历史已接入独立“历史”菜单:支持手动与自动快照、当前/相邻/任意版本比较、源码与含离线 Mermaid 的只读渲染预览、保护后恢复、保留策略与回收站清理、单版本确认删除、清理日志、校验后迁移及外部移动文档显式重新关联。导出支持静态 HTML(本地图片内嵌或外链、本地 CSS、内联 Mermaid SVG)、单图 SVG 及独立排版 PDF(需随应用提供的离线引擎和字体包);RPM 和 Windows 完整 ZIP 已包含 PDF 引擎和字体,Windows 实机验证尚未完成,详见 [开发状态](docs/development-status.md)。 设计边界:Markdown 源码是唯一内容真值;核心与 UI 解耦;应用本地运行,不使用 Electron、WebView 或 HTTP 服务。 ## 环境 - Rust stable(项目通过 `rust-toolchain.toml` 固定通道与组件) - Linux 构建需要常规 X11/Wayland 开发库 ## 构建与运行 ```bash cargo run -p markdown-edit ``` ## 发行包与升级 RPM 构建需要 `rpmbuild` 及已校验的 PDF 离线依赖(见 [打包说明](packaging/README.md));Windows 构建需要 MinGW x64 交叉编译器/资源编译器、Rust 目标 `x86_64-pc-windows-gnu` 及 Windows PDF 引擎和字体。在对应环境分别执行 `packaging/build-rpm.sh` 和 `packaging/build-windows-exe.sh`;版本号从 Cargo workspace 读取,产物写入被 Git 忽略的 `dist/`。RPM 面向 Fedora 兼容的 x86_64 发行版,包含 PDF 引擎/字体及其许可,界面仍声明依赖系统 Noto CJK 字体包;使用 `rpm -U` 升级,不需要先卸载。Windows 输出完整便携 ZIP、稳定文件名 EXE 和版本化 EXE;PDF 功能请使用完整 ZIP,并按包内说明准备 Microsoft Visual C++ v14 x64 运行库。升级时关闭旧应用,把新版完整 ZIP 解压到新目录并更新快捷方式,不要只替换 EXE。 两种升级方式均不删除用户文档或应用状态。持久化标识 `Markdown Edit` 保持不变,升级后继续使用原用户配置与恢复数据;不保证新版数据可供旧版降级读取。当前 Windows 文件及 RPM 均未签名;Windows 交付为便携 ZIP,不包含安装向导或自动更新器。 ## 验证 ```bash cargo fmt --all -- --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace ``` 当前完成范围、限制与后续验收项见 [开发状态](docs/development-status.md)。