一款轻量的面向 Markdown 的阅读器
ssk-wh Lv5

SimpleMarkdown:一秒内打开所有 Markdown 文件。

一款轻量、跨平台、只读的 Markdown 查看器。打开大文件不卡,滚动丝滑,点目录瞬间跳转。

为什么做它

很多 Markdown 编辑器在打开体积稍大的文档时会明显变慢:整篇解析、整篇排版、再整篇渲染,文件越大越卡。可大多数时候,我们只是想读一份文档——技术手册、日志整理、会议纪要、导出的长文——并不需要编辑。

SimpleMarkdown 干脆放弃编辑功能,把全部精力放在一件事上:把 Markdown 又快又顺地读出来。

速度

在一台普通 Windows 笔记本上的实测(Release 构建,启动到首屏内容可见):

文件大小 打开速度
45 KB 约 0.8 秒
10 MB(约 28 万行) 约 0.9 秒
50 MB(约 143 万行) 约 0.9 秒
  • 点击目录跳转:50MB 文档里跳到任意章节,5~16 毫秒
  • 滚动:单帧 P95 约 7~9 毫秒,滚轮、拖滚动条、PageUp/PageDown、Home/End 都顺滑

它是怎么做到的

核心思路是「别处理你看不到的东西」:

  1. 后台读取、分块索引:文件在后台线程读入,按段落边界切成小块(chunk),同时扫描出目录。首屏只需要第一批数据,和文件总大小无关。
  2. 只排版可见的块:滚动到哪里,才解析、排版、绘制哪里。已排版的块放进有上限的缓存。
  3. 锚点式滚动:滚动位置记为「第几块 + 块内偏移」,而不是一个全局像素值。上方块的高度从估算变成实测,画面不会跳动;点目录跳转也不必先算完前面所有内容。
  4. 全自绘渲染:没有 WebView、没有 QTextDocument,基于 Qt 的 QPainter 自己画,内存占用小。

功能一览

阅读

  • 标题、段落、粗体/斜体/删除线、行内代码、围栏代码块(带语法高亮)
  • 引用、有序/无序/任务列表、GFM 表格、分割线、链接
  • 本地图片与 SVG 矢量图
  • YAML Frontmatter 卡片渲染
  • Ctrl+点击链接打开(网页走浏览器,相对路径的 .md 文件直接在新标签页打开)

导航

  • 右侧目录面板:支持折叠,万级标题也能即时显示;点击跳转并短暂高亮
  • 全文查找(Ctrl+F):显示命中数,Enter / Shift+Enter / F3 在命中间跳转,Esc 关闭
  • 多标签页、文件夹面板(资源管理器式浏览一个目录)

体验

  • 内容标记(荧光笔):选中文字右键标记,含标记的章节在目录里高亮,标记随会话保存
  • 外部修改自动刷新:用你喜欢的编辑器改文件,保存后这里静默刷新并保持阅读位置
  • 会话恢复:重启后回到上次的文件与阅读位置
  • Ctrl+滚轮缩放字号、行间距可调
  • 亮色 / 暗色主题,可跟随系统,支持自定义主题
  • 演示模式(F11 进入,F11 或 Esc 退出):全屏只显示内容,适合直接拿文档做演讲
  • 中文 / English 界面
  • 导出 HTML / PDF、打印(文件小于 8MB)
  • 自动识别 UTF-8 / UTF-16 / GBK 编码

稳定性

  • 打开二进制文件、超过 1GB 的文件会给出明确提示
  • 对畸形输入做了防护:超长单行、数千层嵌套、数百万标题都不会卡死界面

下载

👉 下载最新版本(始终指向最新发布)

打开页面后,在 Assets 里按平台选择:

平台 文件
Windows 安装包(推荐) SimpleMarkdown-<版本>-Setup.exe
Windows 免安装版 SimpleMarkdown-<版本>-Portable.zip
Linux 通用 SimpleMarkdown-<版本>-x86_64.AppImage
Debian / Ubuntu simplemarkdown_<版本>_amd64.deb

项目的 GitHub Actions 会在每次发布时自动构建并上传这些产物,所以上面的链接永远是最新版。历史版本与更新说明见 Releases 页面。

使用小贴士

  • 命令行直接打开:SimpleMarkdown.exe 文档.md;已有窗口在运行时,会在同一窗口新开标签页
  • 把 .md 文件拖进窗口即可打开
  • 想编辑?「文件 → 用默认程序打开」交给你的编辑器,改完保存,查看器自动刷新
  • 软件不联网、不上传、无遥测;检查更新只在你手动点击时才会访问网络

项目地址

源码、问题反馈与更新日志:https://github.com/ssk-wh/simple_markdown

基于 C++17 / Qt 5 与 cmark-gfm 构建,欢迎试用与反馈。

 Comments
Comment plugin failed to load
Loading comment plugin