Skip to content
MuLiuSaMaPublic

About

OpenMD-简洁 美观 高效的MarkDown查看器

Resources

Stars

55 stars

Watchers

0 watching

Forks

Repository files navigation

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 一般预装)。

pnpm install
pnpm tauri dev

构建

主程序

pnpm tauri build
# 产物:src-tauri/target/release/openmd.exe

Linux

主程序基于 Tauri,本体跨平台。Linux 上通过系统的 WebKitGTK 渲染,需先安装 WebKitGTK 开发库(Debian/Ubuntu/Mint):

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:

# 前置: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(含依赖、安装、DMG 打包与 macOS 适配改动说明)。

安装包(安装器 + 卸载器,Windows)

发布走自定义安装向导,需依次构建三个工程:

# 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 群、 赞助、应用内更新等):

pnpm tauri:build:store   # 商店版构建
pnpm msix                # 打出 msix/out/OpenMD_{version}_x64.msix
pnpm msix:install        # 本地侧载测试

详见 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 协议开源。

作者

木流(MuLiu)

About

OpenMD-简洁 美观 高效的MarkDown查看器

Resources

Stars

55 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages