# OpenMD **Repository Path**: muliuawa/OpenMD ## Basic Information - **Project Name**: OpenMD - **Description**: OpenMD-简洁 美观 高效的MarkDown查看器 - **Primary Language**: Rust - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-10-03 - **Last Updated**: 2026-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

OpenMD

为阅读而生的 Markdown 阅读器 — 快速、干净、无干扰。

Release Stars GitCode Stars GitHub 下载量 Tauri React Rust License

官网 GitHub 仓库 Gitee 仓库 GitCode 仓库

## 特性 - **沉浸阅读**:无边框窗口、黑白灰主题、亮暗色一键切换(View Transitions 平滑过渡) - 即时编辑:可视化编辑MarkDown,快捷菜单。 - **双视图**:渲染预览 / 源码高亮(highlight.js),均支持左侧目录导航与滚动同步 - **舒适排版**:字号调节(滑动动画)、铺满模式、悬浮滚动条 - **多标签页**:鼠标中键关闭标签,与浏览器操作习惯一致 - **最近打开**:首页最近文档列表,支持单条删除与一键清空 - **文件关联**:双击 `.md` / `.markdown` / `.mdown` / `.mkd` 直接打开(单实例转发) - **自动更新**:从 GitCode Release 检查新版本,应用内下载并重启安装 - **自定义安装器**:独立安装/卸载向导,安装时可选关联 .md 文件,卸载时自动清理 ## 界面预览

主页 — 最近文档

主页

渲染预览 — 目录导航与滚动同步

渲染预览

源码视图

源码高亮

亮暗色主题一键切换

主题切换

即时编辑

图片

## 技术栈 | 层级 | 技术 | | --- | --- | | 前端 | React 19 · TypeScript · Chakra UI v3 · Vite | | 后端 | Rust · Tauri 2 | | 渲染 | markdown-it · highlight.js · DOMPurify | ## 开发 环境要求:Node.js 18+、Rust、WebView2(Windows 10/11 一般预装)。 ```bash pnpm install pnpm tauri dev ``` ## 构建 ### 主程序 ```bash pnpm tauri build # 产物:src-tauri/target/release/openmd.exe ``` ### Linux 主程序基于 Tauri,本体跨平台。Linux 上通过系统的 WebKitGTK 渲染,需先安装 WebKitGTK 开发库(Debian/Ubuntu/Mint): ```bash sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev pnpm install pnpm tauri build # 产物: # src-tauri/target/release/openmd 可执行文件 # src-tauri/target/release/bundle/deb/*.deb Debian/Ubuntu/Mint 安装包 # src-tauri/target/release/bundle/rpm/*.rpm Fedora/openSUSE/RHEL 安装包 # src-tauri/target/release/bundle/appimage/*.AppImage 免安装单文件(chmod +x 后直接运行) ``` Fedora/Arch 等其他发行版请参考 Tauri 官方文档安装对应的 `webkit2gtk-4.1` 开发包。 安装包的运行依赖在 `src-tauri/tauri.conf.json` 中声明;用户安装时由发行版的包管理器解析,不能用开发机上的 `-dev` 包代替验证。当前 64 位构建声明 glibc 2.39 为最低运行要求;支持更旧系统需要在更旧的兼容环境重新构建并调整依赖。 ### macOS 主程序基于 Tauri,本体跨平台,Mac 上可直接构建原生 `.app`: ```bash # 前置:xcode-select --install;Rust(rustup);Node ≥20 + pnpm source "$HOME/.cargo/env" pnpm install pnpm tauri build # 产物:src-tauri/target/release/bundle/macos/OpenMD.app ``` 详见 [docs/BUILD-macOS.md](docs/BUILD-macOS.md)(含依赖、安装、DMG 打包与 macOS 适配改动说明)。 ### 安装包(安装器 + 卸载器,Windows) 发布走自定义安装向导,需依次构建三个工程: ```powershell # 1. 构建卸载器 cd uninstaller npm install --legacy-peer-deps npm run tauri:build cd .. # 2. 打包 payload 并构建安装器 cd installer npm install --legacy-peer-deps .\pack-payload.ps1 # 将 openmd.exe + md-file.ico + uninstOpenMD.exe 打进 payload.zip .\build-installer.ps1 # 产出 OpenMD_{version}_Windows_x86_64.exe ``` ### 微软商店(MSIX,Windows) 上架微软商店走 MSIX 打包,商店版会按微软政策隐藏商店外入口(平台标签、QQ 群、 赞助、应用内更新等): ```powershell pnpm tauri:build:store # 商店版构建 pnpm msix # 打出 msix/out/OpenMD_{version}_x64.msix pnpm msix:install # 本地侧载测试 ``` 详见 [docs/BUILD-MSIX.md](docs/BUILD-MSIX.md)(含 Partner Center 包身份配置、 提交流程与常见问题)。 ## 项目结构 ``` ├── src/ # 前端源码(React) ├── src-tauri/ # 主应用 Rust 后端 ├── installer/ # 安装向导(独立 Tauri 工程) │ ├── pack-payload.ps1 │ └── build-installer.ps1 ├── uninstaller/ # 卸载程序(独立 Tauri 工程) ├── docs/ # 界面截图(README 预览图) └── public/ # 静态资源(Logo、字体、收款码等) ``` ## 许可证 本项目基于 [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html) 协议开源。 ## 作者 **木流(MuLiu)** - 官网:[https://openmd.nexbox.cn](https://openmd.nexbox.cn) - GitCode:[https://gitcode.com/MuLiuSaMa/OpenMD](https://gitcode.com/MuLiuSaMa/OpenMD) - GitHub:[https://github.com/MuLiuSaMa/OpenMD](https://github.com/MuLiuSaMa/OpenMD) - Gitee:[https://gitee.com/muliuawa/OpenMD](https://gitee.com/muliuawa/OpenMD)