leaf:在终端中获得类 GUI 的 Markdown 阅读体验
项目简介
leaf 是一款用 Rust 编写的终端 Markdown 预览器,它能在纯文本环境中提供接近图形界面的阅读体验。对于经常在服务器、远程 SSH 会话或简洁桌面环境中工作的开发者来说,leaf 提供了一个无需依赖浏览器或重型 Electron 应用的轻量解决方案。
仓库地址:https://github.com/RivoLink/leaf
核心特性
类 GUI 的渲染效果
leaf 使用终端图形字符和 ANSI 色彩代码,实现了包括标题层级、列表、代码块、引用、表格等 Markdown 元素的优雅渲染。在支持真彩色的终端中,阅读体验尤为出色。
轻量且快速
作为 Rust 项目,leaf 编译为单个静态二进制文件,无运行时依赖。启动瞬间完成,即使是大型 Markdown 文档也能流畅滚动浏览。
键盘驱动
完全通过键盘操作,支持 Vim 风格的导航键位:
j/k或↑/↓滚动文档g/G跳转到文档开头/结尾q退出预览
Termux 支持
项目明确支持 Android Termux 环境,这意味着你可以在移动设备上获得一致的 Markdown 阅读体验。
安装方法
从源码编译
# 克隆仓库
git clone https://github.com/RivoLink/leaf.git
cd leaf
# 编译 release 版本
cargo build --release
# 安装到 ~/.cargo/bin
cargo install --path .
预编译二进制文件
项目 Release 页面提供了主流平台的预编译二进制文件,下载后放置于 $PATH 中即可使用。
使用示例
# 预览单个文件
leaf README.md
# 预览并指定主题(如果支持)
leaf --theme=dark document.md
# 通过管道接收内容
cat document.md | leaf
适用场景
- 服务器文档查阅:在 production 服务器上快速阅读部署文档或操作手册
- Git 工作流:配合
git show预览带格式的提交信息或 MR 描述 - 笔记浏览:管理本地 Markdown 笔记库时的快速预览工具
- 低资源环境:老旧硬件或容器环境中替代浏览器方案
项目状态
leaf 是一个相对年轻的项目(创建于 2026 年 4 月),但更新活跃。目前 121 个 Star 的体量意味着它仍处于小众工具的定位,适合喜欢尝鲜的开发者。MIT 许可证允许自由使用和二次开发。
相关项目
如果你需要更完整的 Markdown 编辑器而非预览器,可以考虑:
leaf 填补了终端工具生态中的一个细分需求:在纯文本环境中优雅地阅读 Markdown。对于追求极简工作流的开发者,它值得一试。