Markor 中文文档 下载 App

Markdown 预览不渲染——空白页、纯源码显示、图片裂开

类型一:预览是空白页

可能原因一:Markdown 解析报错

Markor 用 flexmark-java 解析 Markdown。如果 Markdown 源码里有 flexmark-java 不支持的语法,可能导致解析失败 → 预览空白。

怎么验证:切回编辑器模式,检查文件是否有:

解决:在编辑器里手动检查并修复格式问题。v2.10 起 Markor 会在解析失败时在预览模式底部弹出错误提示(比早期版本直接空白好)。

可能原因二:文件太大

超过 2000 行 或 500 KB 的 Markdown 文件,WebView 渲染可能卡住或空白。

解决:把大文档拆成多个子文档,用 Markdown 相对路径链接起来。

类型二:预览显示纯源码(Markdown 语法没被转换)

可能原因:格式没被识别

Markor 打开文件时根据 扩展名 和 内容 自动识别格式。如果扩展名是 .txt 但你写的是 Markdown,Markor 可能把它当成纯文本打开。

解决:

  1. 编辑器模式下点底部操作栏的 格式选择器(部分版本在底部最左或最右)
  2. 手动切换到 Markdown 格式
  3. 保存 → 再切预览

或者把文件扩展名改成 .md。

类型三:图片显示裂开

原因一:图片路径写错了

Markdown 图片路径是 相对于 Markdown 文件所在目录 的。常见错误:

错误写法为什么错
相对路径跳层级(如 ../images/photo.png)Markor 对相对路径的层级支持有限,建议把图片放在 Markdown 文件同级目录的子文件夹(如 images/photo.png)
Android 绝对路径(如 /storage/emulated/0/Documents/images/photo.png)用了绝对路径。Markor 预览模式的 WebView 不支持 Android 绝对路径
桌面路径(如 C:/Users/photo.png)桌面路径,手机上不存在

推荐做法:用 Markor 的图片按钮插入图片(不是手写路径)——Markor 会自动把图片复制到正确位置并写对相对路径。

原因二:外部 URL 图片 + 没有 INTERNET 权限

Markdown 里引用了外部网络图片(不是本地文件路径)的情况。这种外部 URL 图片需要:

如果 URL 过期、需要登录、或返回防盗链错误,图片就显示不出来。

解决:把外部图片下载到本地 images/ 目录,改成本地路径。

原因三:图片文件不存在或被删除

图片被手动删了、或同步客户端因为某些原因没同步过来。Markor 的 Markdown 语法高亮里图片路径会显示正常(因为只查字符串),但预览时 WebView 找不到真实文件。

怎么排查:在 Markor 文件浏览器里手动浏览到 Markdown 文件引用的图片路径,确认图片文件在不在。

原因四:图片格式 WebView 不支持

极少数情况下,某些 WebP 动画或 HEIC 格式图片在旧版 Android WebView 里不支持。

解决:用 JPG 或 PNG 格式(Markor 图片按钮默认用 JPG/PNG 保存)。

类型四:KaTeX 公式显示成源码(不是渲染后的公式)

原因:Markdown 设置里 Math 没开

KaTeX Math 功能默认 关闭。Markor 解析 Markdown 时,如果 Math 没开,$...$ 和 $$...$$ 会被当成普通文本。

解决:Settings → Format → Markdown → 勾选 Math / Enable Math → 保存 → 切预览重新打开。

类型五:代码块不高亮

原因一:代码块没标语言

这里的代码没标语言

vs 正确写法:

这里标了 python

Markor 预览模式(flexmark-java)需要知道代码块是什么语言才能做语法高亮。没标语言就显示成纯等宽文本。

原因二:代码块围栏数量不对

print("hello") ← 这里应该是 `` 只有两个,语法错误


三个反引号的数量必须成对(一对开、一对关),任何一处数量不对都会导致整段解析错位。

## 类型六:预览完全卡住(白屏或黑屏)

### 原因:WebView 崩溃

Android WebView 偶尔会因为渲染压力大崩溃(大文档 + 大量图片 + 数学公式是崩溃高发组合)。

**解决**:

1. 强制停止 Markor
2. 重新打开
3. 如果经常卡 → 把大文档拆成多个小文档(2000 行是一个实用阈值)
4. 清理 WebView 缓存(Android 设置 → 应用 → Android System WebView → 清除缓存)