项目简介

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

适用场景

  1. 服务器文档查阅:在 production 服务器上快速阅读部署文档或操作手册
  2. Git 工作流:配合 git show 预览带格式的提交信息或 MR 描述
  3. 笔记浏览:管理本地 Markdown 笔记库时的快速预览工具
  4. 低资源环境:老旧硬件或容器环境中替代浏览器方案

项目状态

leaf 是一个相对年轻的项目(创建于 2026 年 4 月),但更新活跃。目前 121 个 Star 的体量意味着它仍处于小众工具的定位,适合喜欢尝鲜的开发者。MIT 许可证允许自由使用和二次开发。

相关项目

如果你需要更完整的 Markdown 编辑器而非预览器,可以考虑:

  • glow:Charm 团队出品的 Markdown 阅读器
  • mdcat:支持链接点击和图像显示的终端 Markdown 查看器

leaf 填补了终端工具生态中的一个细分需求:在纯文本环境中优雅地阅读 Markdown。对于追求极简工作流的开发者,它值得一试。