FoldRender 是一个原生的 Android Markdown 渲染器。本页是完整的操作过程 —— 安装、打开或克隆、阅读 —— 写的是你实际要点的按钮、在大仓库上文件树会怎样,以及应用做到哪里为止。Markdown 渲染是在干净设备上完整验证过的四种格式之一。
FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。
第一次打开时,FoldRender 显示两个按钮:打开文件和打开文件夹,上方有一行字:「打开一个文件,或者把应用指向一个文件夹,浏览其中的一切:Markdown、源代码、JSON、CSV、图片、PDF。」「打开文件」会启动系统文档选择器,选单个文档。「打开文件夹」会启动 Android 文件夹选择器;你授权的文件夹会成为一个持久保存的工作区,重启后依然在。
点顶栏里的分支图标打开 Git 面板。输入框的标签是 Clone an HTTPS repository URL,占位文字是 https://github.com/you/repo.git。粘贴一个 HTTPS 地址,点 Clone。公开仓库可以匿名克隆 —— 在干净设备上验证过,没有 GitHub 账号,也没有填任何令牌。第一次克隆之前,面板标题栏显示「No repository yet」。
克隆完成后,应用把它作为工作区打开,并开始列出文件。在大仓库上(大约 4,600 个文件这个量级),这一步要很久,除了一个转圈什么都不显示:没有百分比,没有文件计数,没有预计时间。它最终会完成。把这段沉默当作慢,而不是卡死;这是一个已知的毛糙之处,不是崩溃。
左栏有三个标签页:文件、搜索和快捷。在「文件」里,每一行都有类型标记 —— Markdown 文件标为 MD。被 .gitignore 隐藏的文件在这里也会隐藏;显示被忽略的文件开关可以把它们显示出来。点 README.md,展开时它在右边那一栏渲染,合上时占满整个宽度。
渲染好的 Markdown 文档右下角有一个小的悬浮按钮。它会打开大纲面板,列出文档的顶层标题,你当前所在的那个标题会突出显示;点一个就滚动到那里。只列出顶层标题,因为嵌在引用块里的标题没有自己的滚动位置。没有标题的文档会显示「这篇文档没有标题。」
顶栏里的放大镜会打开查找栏,占位文字是在文档中查找…。它实时显示 current/total 匹配计数,并有上下箭头逐个跳转。放大镜只在支持查找的格式里出现 —— Markdown、笔记本、JSON/YAML/TOML、CSV、源代码、日志和纯文本。PDF、图片和 HTML 没有查找栏。
字号图标会打开阅读面板:一个主题分段选择(跟随系统 / 浅色 / 深色)、一个从 80% 到 160% 的字号滑块、一个从 480 dp 到 1200 dp 的行宽滑块,以及一个正文用衬线字体开关。在展开的 Fold 上,要紧的是行宽 —— 它让段落不再铺满整块内屏。这些设置会保存下来,切换主题会重新渲染,但不会重新解析文档。
分享图标会打开导出面板,有三个选项:「打印 / 存为 PDF」,打开系统打印界面,在那里选「另存为 PDF」;「分享为 HTML」,一个自包含的文件,字体、公式、图表和图片都以 data URI 内嵌;「分享为 PNG」,整页截成一张长图。只有 Markdown 和 Jupyter 笔记本提供导出。
CommonMark 加上 GitHub 风格的 Markdown(GFM)—— 带列对齐的表格、删除线、任务列表、自动链接 —— 以及 YAML front matter,它会渲染成一个元数据头,而不是一大段引号文本。在此之上还有:用 > [!WARNING] 写的 GitHub/Obsidian callout、[[wiki links]]、按第一次引用编号的脚注,以及足够的 MDX 容错,让 import/export 行和裸的 JSX 组件退化成什么都不显示,而不是把源代码漏到页面上。
commonmark-java 把文档解析成一个块列表,交给 Compose 的 LazyColumn,所以只有屏幕上的块会被排版。文字选择用的是 Compose 的,不是浏览器的。解析器不产生任何颜色,也不产生 Compose 类型,所以切换主题时只重新渲染,不重新解析。
围栏代码块带语言标签和一个复制代码按钮。```mermaid 代码块和 $…$ / $$…$$ 公式在一个沙箱隔离区里渲染:它的 WebView 设置了 blockNetworkLoads,客户端拒绝打包资源以外的任何地址 —— mermaid 和 KaTeX 连同字体都打包在 APK 里。点一下图表可以全屏查看,并用双指缩放。
如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。
configChanges,所以折叠不会重建 Activity —— 这从结构上就成立,也在模拟器里跑过。我们没有在零售版 Fold 硬件上测过折叠和展开,对是否流畅不做任何说法。大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。
| 工具 | 下载价格 | 从哪里获取 | 克隆到设备上 | 渲染 PDF / Jupyter 笔记本 / Markdown | 编辑器或 shell |
|---|---|---|---|---|---|
| FoldRender | US$0 | Google Play,全球 | 能 —— HTTPS,公开仓库可匿名 | 能 —— 原生 Compose 渲染器 | 没有,有意为之:它是阅读器,不是 IDE |
| GitHub Mobile | US$0 | Google Play 和 App Store | 不能 —— 它读的是托管在 GitHub 上的仓库 | 只有 GitHub 自己渲染的内容,需联网 | 可在 PR 里编辑文件 |
| Termux + git | US$0 | F-Droid 或 GitHub | 能 —— 真正的 git 命令行 | 不能 —— 只有终端文本 | 有,完整的 shell,任何命令行编辑器都能用 |
| MGit 1.7.0 (2023) | US$0 | 只在 F-Droid | 能 —— 克隆、拉取、推送,HTTPS 或 SSH 密钥 | 不能 | 没有 —— 它自己的页面写明不带文本编辑器 |
价格指的是下载价格。GitHub Mobile 的功能取决于你的 GitHub 套餐;Termux 和 MGit 都是自由软件。MGit 的版本和日期来自它在 F-Droid 上的页面。
这里的每个数字都是从正式发布的版本里读出来的,或者来自本页底部列出的一手资料 —— 没有为了好看往上凑整。
minSdk 30,也就是 2020 年随 Android 11 发布的 API 级别;编译和目标版本都是 API 36。上面这些数字背后的一手文档,任何一条你都可以自己核对,不必听我们说。
git-clone 参考文档 —— 获取代码执行的操作,由定义它的项目自己来说明minSdk 定为最低要求的那个版本本页最后核对于 2026-08-27。